<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>Fredi Bach - Information Architect - Weblog - Coreneo</title>
		<link>http://fredibach.ch</link>
		<language>de</language>
		<description>Die persönliche Webseite von Fredi Bach, Information Architect und Paraglider aus der Schweiz</description>
		<lastBuildDate>Thu, 11 Mar 2010 12:52:32 +0100</lastBuildDate>
		<item>
		<title>Volle Kontrolle</title>
		<link>http://fredibach.ch/weblog-de.139_volle-kontrolle.html</link>
		<guid>http://fredibach.ch/weblog-de.139_volle-kontrolle.html</guid>
		<pubDate>Sun, 22 Nov 2009 20:21:19 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Es ist soweit, mit CoreMarkup lässt sich jetzt jedes Element auf der Seite beeinflussen, auch Seiten-Elemente die nicht im Contentarea Array gespeichert werden.

Ändern des Seiten Einleitungs Titel und des Einleitungs Textes funktioniert wie folgt:

[[ core.system: set, introtitle, Mein neuer Einleitungs Titel ]]

[[ core.system: set, introtext, Mein neuer Einleitungs Text ]]

Somit kann jetzt auch Markdown und HTML in der Seiten Einleitung verwendet werden. Man sollte dabei einfach beachten, dass die Einleitung schon durch das Design speziell formatiert wird und daher nicht alles was möglich ist auch Sinn macht.

Auch kann man jetzt Farb-Kombinationen für das Design wählen, die nicht durch das Design bereitgestellt werden, was wie folgt funktioniert:

[[ core.system: set, templatecolors, #ff0000|#222222 ]]

Je nach Design variert die Anzahl der Farben die angegeben werden müssen.

Auch kann zusätzlich zu den Muster Variationen die durch das Design vorgegeben werden, auch ein eigenes Muster verwendet werden. Das Muster muss zuvor in die Bilder Datei-Verwaltung hochgeladen werden. Ein Beispiel:

[[ core.system: set, templatepattern, meinmuster.gif ]]

Die zwei Template CoreMarkups werden am besten in einem CoreScript verwendet.
 ]]></description>
		</item>
		<item>
		<title>Daten geordnet speichern und sortiert anzeigen</title>
		<link>http://fredibach.ch/weblog-de.138_daten-geordnet-speichern-und-sortiert-anzeigen.html</link>
		<guid>http://fredibach.ch/weblog-de.138_daten-geordnet-speichern-und-sortiert-anzeigen.html</guid>
		<pubDate>Sat, 21 Nov 2009 15:00:41 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Daten können nicht nur in einer Variablen gespeichert werden, sondern auch in einem Daten-Objekt. Vorteil ist hier, dass man die Daten sowohl sortieren wie auch in einer Tabelle anzeigen kann. Hier eine Beispiel Tabelle:

Als erstes müssen wir das Daten-Objekt initialisieren. Der erste Wert nach &quot;init&quot; ist der Objekt-Name, danach kommen die einzelnen Variablen, jeweils bestehend aus einer ID und einem Titel:

[[ core.data: init, mydata, name: Name, prename: Vorname, age: Alter, mugshot: Photo ]]

Zusätzlich können wir jetzt noch optional das ganze Daten-Objekt betiteln und beschreiben:

[[ core.data: title, mydata, Personen ]]

[[ core.data: describe, mydata, Nach Alter sortiert ]]

Auch können wir einzelne Variablen des Objektes noch zusätzlich beschreiben:

[[ core.data: describe, mydata.mugshot, Clicken zum vergrössern ]]

Als nächstes müssen wir natürlich das Objekt mit Daten füllen, das sieht wie folgt aus:

[[ core.data: add, mydata-&amp;gt;muster, name: Muster, prename: Tanja, age: 34, mugshot: ]]

[[ core.data: add, mydata-&amp;gt;beispiel, name: Beispiel, prename: Vreni, age: 45, mugshot: ]]

[[ core.data: add, mydata-&amp;gt;meier, name: Meier, prename: Lucy, age: 23, mugshot: ]]

Die Variable &quot;mughshot&quot; habe ich absichtlich leer gelassen, da ich so eine weitere Möglichkeit Daten in das Objekt zu schreiben demonstrieren kann, nämlich indem ich eine CoreMarkup Ausgabe direkt über die Objekt Bezeichnung in das Objekt fülle, was besonders bei Bildern die Arbeit sehr erleichtert:

[[ $mydata-&amp;gt;muster.mugshot core.dbimg: cg_girl_09.jpg, 125px, - ]]

[[ $mydata-&amp;gt;beispiel.mugshot core.dbimg: cg_girl_04.jpg, 125px, - ]]

[[ $mydata-&amp;gt;meier.mugshot core.dbimg: cg_girl_13.jpg, 125px, - ]]

Befor wir die Daten nun als Tabelle ausgeben, stylen wir noch das erste Element, den Namen, damit der speziell hervorgehoben wird:

[[ core.data: style, mydata, name: tag-&amp;gt;strong ]]

Mann könnte auch CSS verwenden, um das selbe zu erreichen indem man eine Class verwendet:

[[ core.data: style, mydata, name: class-&amp;gt;namestyle ]]

Nun ist es Zeit die Daten in einer Tabelle auszugeben, die die einzelnen Einträge nach Alter sortieren soll:

[[ core.data: display, mydata, table sort by age ]]

Daten können natürlich nicht nur als Tabelle ausgegeben werden, man kann auch die einzelnen Variablen des Objektes wie bei normalen Variablen auch, in anderen CoreMarkups verwenden, wie es auch möglich ist normale Variablen zu verwenden um ein Daten Objekt zu füllen.

Hier noch das komplette Script für die Beispiel Tabelle:
 ]]></description>
		</item>
		<item>
		<title>Vom Wochentag gesteuerte Werbung</title>
		<link>http://fredibach.ch/weblog-de.135_vom-wochentag-gesteuerte-werbung.html</link>
		<guid>http://fredibach.ch/weblog-de.135_vom-wochentag-gesteuerte-werbung.html</guid>
		<pubDate>Wed, 18 Nov 2009 23:00:58 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Jeden Tag die gleiche Werbung einblenden muss nicht sein, mit ein wenig CoreMarkup und Kreativität kann man die ganze Sache auch interessanter gestalten. Natürlich könnten wir wie beim Beispiel mit den zufälligen Headerbildern vorgehen, aber es geht auch ohne Zufall, es ist nämlich möglich für jeden Wochentag ein separates Bild anzuzeigen. Als Erstes brauchen wir natürlich sieben unterschiedliche, auf die jeweiligen Wochentage abgestimmte Werbe-Banner. Hier zwei Beispiele:

Für jedes Bild erstellen wir nun eine eigene Variable, hier jene für den Montag:

[[ $adMontag core.dbimg: freelancer_ad_montag.gif, 48%, -, kontakt-de.html ]]

Danach prüfen wir für jeden Tag ob Heute genau dieser ist, was für den Montag wie folgt aussieht:

[[ +$ad core.system: get, var, if (monday) adMontag ]]

Wichtig ist hier, dass wir mit dem &quot;+&quot; Zeichen vor dem Variabelnamen dem Script mitteilen, dass wir die Variable &quot;$ad&quot; nicht überschreiben, sondern an den bestehenden Inhalt der Variable Inhalt anhängen. Dies machen wir, weil nur der richtige Tag die Variable mit dem Werbe-Banner füllt, alle anderen Tage füllen die Variable einfach nur mit Nichts, was den Werbe-Banner wieder löschen würde, was wir natürlich nicht wollen.

Zum Schluss müssen wir noch den Inhalt der Variablen &quot;$ad&quot;, die ja jetzt den richtigen Banner enthält, auf der Seite einfügen, und zwar nicht einfach irgendwo, sondern genau zwischen dem ersten und zweiten Blog Eintrag. Dies erreichen wir indem wir einen speziellen HTML Kommentar den das News Modul erzeugt ersetzen, der genau für solch einen Fall gedacht ist. Hier das CoreMarkup dafür:

[[ core.system: replace, main-&amp;gt;news: &amp;lt;!-- news fullhtml split marker #2 --&amp;gt;, $ad ]]

Das komplette CoreMarkup wird als CoreScript ausgeführt, natürlich nur auf der News Seite. Hier das komplette CoreMarkup wie ich es verwende (Achtung, ich verwende HTML anstelle des Bilder Coremarkups damit ich die Darstellung zusätzlich noch mit CSS steuern kann):
 ]]></description>
		</item>
		<item>
		<title>Anzeigen eines zufälligen Headerbildes</title>
		<link>http://fredibach.ch/weblog-de.132_anzeigen-eines-zufaelligen-headerbildes.html</link>
		<guid>http://fredibach.ch/weblog-de.132_anzeigen-eines-zufaelligen-headerbildes.html</guid>
		<pubDate>Mon, 16 Nov 2009 21:49:34 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ CoreNeo erlaubt es auf jeder Seite ein unterschiedliches Headerbild anzuzeigen, aber was wenn auf jeder Seite ein zufälliges Headerbild aus einer Auswahl an Bildern verwendet werden soll? Bisher war das nur durch ein zusätzliches PHP Script im Template möglich, aber jetzt geht das auch mit CoreMarkup.

Als erstes müssen wir die einzelnen Bilder hochladen. Für ein optimales Resultat am besten Bilder die schon in der richtigen Grösse vorliegen und nicht solche die durch ein Bilder-CoreMarkup noch zusätzlich bearbeitet werden muss.

Danach erstellen wir ein CoreScript das auf allen Seiten ausgeführt wird und ein CoreMarkup enthält. Die einzelnen Bilder speichern wir zuerst in eine Variable, hier ein Beispiel:

[[ $hpic1 core.dbimg: hpic_photo_1.jpg, -, -, - ]]

Falls die Bilder nicht in der richtigen Grösse (550x200) vorliegen, würde das CoreMarkup wie folgt aussehen:

[[ $hpic1 core.dbimg: hpic_photo_1.jpg, 550px|550:200, -, - ]]

Nachdem alle Bilder in eine separate Variable gespeichert wurden, benutze ich ein CoreMarkup das aus einer Auswahl mehrerer Variablen eine zufällige auswählt und diese in eine neue Variable schreibt, was wie folgt aussieht:

[[ $hpic core.system: get, var, hpic1|hpic2|hpic3 ]]

Als letztes überschreiben wir das normalerweise angezeigte Headerbild mit diesem Neuen zufällig gewählten:

[[ core.system: overwrite, hpic-&amp;gt;default, $hpic ]]

Und schon haben wir wie auf dieser Seite eine zufällige Headerbild Auswahl. Hier das komplette CoreMarkup wie ich es auf meiner Seite verwende:
 ]]></description>
		</item>
		<item>
		<title>Erstellen einer Kontakt Menü-Link Sprechblase</title>
		<link>http://fredibach.ch/weblog-de.131_erstellen-einer-kontakt-menue-link-sprechblase.html</link>
		<guid>http://fredibach.ch/weblog-de.131_erstellen-einer-kontakt-menue-link-sprechblase.html</guid>
		<pubDate>Sun, 15 Nov 2009 14:50:46 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Wie versprochen hier nun die Anleitung zur Sprechblase die ich über meinem Kontakt Menü-Link eingefügt habe. Die Sprechblase ist ein einfaches Bild das ich in Photoshop erstellt und dann ins CMS hochgeladen habe. Es sieht wie folgt aus:

Damit ich nun dieses Bild auf jeder Seite über dem Kontakt Menü-Link einfügen kann, muss ich ein neues CoreScript erstellen, das mit Hilfe von CoreMarkup das Bild ins Menü einfügt. Hier ein Screenshot des CoreScript:

Hier das komplette CoreMarkup:

In der ersten Zeile benutze ich das gleiche CoreMarkup, das ich verwenden würde um das Bild im Seiteninhalt einzufügen, jedoch mit dem Unterschied, dass ich die Ausgabe nicht anzeige, sondern in eine Variable &quot;$contactbubble&quot; speichere. In den nächsten zwei Zeilen füge ich der Variablen noch einen Zeilenumbruch hinzu. In der letzten Zeile benutze ich nun das neue &quot;core.navigation&quot; CoreMarkup um den Inhalt der Variablen vor den Inhalt des &quot;Kontakt&quot; Links zu setzen ... und schon haben wir die Sprechblase über dem Menü-Link! Cool, oder?
 ]]></description>
		</item>
		<item>
		<title>CoreNeo hat ein neues Menü-System bekommen!</title>
		<link>http://fredibach.ch/weblog-de.130_coreneo-hat-ein-neues-menu-system-bekommen.html</link>
		<guid>http://fredibach.ch/weblog-de.130_coreneo-hat-ein-neues-menu-system-bekommen.html</guid>
		<pubDate>Sat, 14 Nov 2009 19:44:56 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Bisher war das CoreNeo Menü-System intern sehr einfach aufgebaut. Im Prinzip wurde das Menü vom Script zusammengesetzt und dann als einzelner Block an das Cotentarea-Array weitergegeben. Das Footer- und Sprachen-Menü war ein bisschen flexibler, indem Module zusätzliche Links hinzufügen konnten da jeder einzelne Link ein separates Element im Contentarea-Array war, aber immer noch nicht flexibel genug.

Das ist jetzt alles Vergangenheit. Jegliche Menü-Links werden jetzt in einem eigenen Array verwaltet, egal ob es ein Link des eigentlichen Hauptmenüs ist, der Srachwahl, der Fusszeile oder eines zusätzlichen Menüs eines erweiterten Designs. Zusätzlich erlaubt jetzt ein neues CoreMarkup auf sehr flexible Art und Weise das Verändern dieses Arrays nachdem es durch das Script und die Module gefüllt wurde. Hier ein Überblick der einzelnen Methoden dieses neuen &quot;Navigation&quot; CoreMarkups:

Insert

[[ core.navigation: insert, newkey after pagekey-de in mainmenu, Inhalt ]]

Erlaubt das zusätzliche Einfügen von Menü-Links (muss nicht zwingend ein Link sein).

Remove

[[ core.navigation: remove, pagekey-de from mainmenu ]]

Entfernt einen Link aus einem Menü.

Rename

[[ core.navigation: rename, mainmenu-&amp;gt;pagekey-de, Neuer Name ]]

Gibt einem Link einen neuen Namen.

Relink

[[ core.navigation: relink, mainmenu-&amp;gt;pagekey-de, http://domain.ch ]]

Ändert die URL des Links.

Overwrite

[[ core.navigation: overwrite, mainmenu-&amp;gt;pagekey-de, Neuer Inhalt ]]

Überschreibt einen bestehenden Link mit neuem Inhalt.

Append

[[ core.navigation: append, mainmenu-&amp;gt;pagekey-de, Zusätzlicher Inhalt ]]

Fügt neuen Inhalt nach dem Link ein (im selben Element).

Prepend

[[ core.navigation: prepend, mainmenu-&amp;gt;pagekey-de, Zusätzlicher Inhalt ]]

Fügt neuen Inhalt vor dem Link ein (im selben Element).

Merge

[[ core.navigation: merge, footer into mainmenu, bottom ]]

Fügt zwei Menüs zusammen.

Move

[[ core.navigation: move, mainmenu-&amp;gt;pagekey-de into footer, top ]]

Bewegt einen Link in ein neues Menü.

Arrange

[[ core.navigation: arrange, mainmenu-&amp;gt;pagekey-de, top ]]

Bewegt einen Link an die oberste oder unterste Stelle in einem Menü.

In den nächsten Tagen werde ich anhand verschiedener Beispiele die Funktionsweise der einzelnen CoreMarkups genauer erklären, zum Beispiel auch wie ich auf meiner Seite die Sprechblase über dem &quot;Kontakt&quot; Link hinzugefügt habe.
 ]]></description>
		</item>
		<item>
		<title>Anatomie eines CoreMarkups</title>
		<link>http://fredibach.ch/weblog-de.128_anatomie-eines-coremarkups.html</link>
		<guid>http://fredibach.ch/weblog-de.128_anatomie-eines-coremarkups.html</guid>
		<pubDate>Thu, 12 Nov 2009 12:28:08 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Jedes CoreMarkup ist nach bestimmten Regeln aufgebaut und ein Verständnis dieses Aufbaus kann sehr nützlich sein. Das offensichtlichste Erkennungsmerkmal sind die eckigen Klammern:

[[ core.system: set, var, myvar = varinhalt ]]

Diese Klammern sind dafür verantwortlich, dass CoreMarkups sehr einfach und daher ohne grosse Performance-Einbussen vom Script erkannt werden können. Innerhalb der Klammern wird nun zuerst angegeben, welches Script das CoreMarkup verarbeiten soll:

[[ core.system: set, var, myvar = varinhalt ]]

Dabei gibt es zwei grundsätzlich unterschiedliche Varianten; alle CoreMarkups die mit &quot;core.&quot; anfangen werden von CoreNeo verarbeitet und alle die mit &quot;module.&quot; anfangen werden von einem Modul verarbeitet, hier zum Beispiel vom News Modul:

[[ module.news: all, latest, 3 ]]

Danach folgen je nach CoreMarkup unterschiedlich viele Argumente, die das Verhalten beinflussen.

[[ core.system: set, var, myvar = varinhalt ]]

Die einzelnen Argumente sind jeweils durch ein Komma gefolgt von einem Leerzeichen getrennt. Eine kleine Ausnahme bildet das System CoreMarkup, das genau drei Argumente erwartet und alle weiteren Komma-Leerzeichen als Teil des dritten Arguments betrachtet. Auch Zeilenumbrüche können im dritten Argument verwendet werden.

Variablen die mit dem System Set Var CoreMarkup erstellt werden, können auch in anderen CoreMarkups verwendet werden, das sieht dann folgendermassen aus:

[[ core.system: set, var, picturewidth = 33% ]]

[[ core.dbimg: meinbild.jpg, $picturewidth, - ]]

Das wichtige ist das Dollar Zeichen &quot;$&quot;, jedes Argument das mit diesem Zeichen beginnt, wird den Inhalt einer gleichnamigen Variablen als Argument verwenden ... natürlich nur falls diese wie im Beispiel oben auch existiert.
 ]]></description>
		</item>
		<item>
		<title>Gäste und registrierte Benutzer unterschiedlich willkommen heissen</title>
		<link>http://fredibach.ch/weblog-de.126_gaeste-und-registrierte-benutzer-willkommen-heissen.html</link>
		<guid>http://fredibach.ch/weblog-de.126_gaeste-und-registrierte-benutzer-willkommen-heissen.html</guid>
		<pubDate>Wed, 11 Nov 2009 21:01:48 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Wäre es nicht schön, wenn wir im Text Gäste und registrierte Benutzer unterschiedlich ansprechen könnten? Überhaupt kein Problem, auch hierfür gibt es ein Coremarkup. Hier ein Beispiel:




Je nachdem ob du als registrierter Benutzer eingelogged bist oder nur als Gast meine Seite besuchst wird ein unterschiedlicher Text angezeigt. Hier das Script zum Beispiel:

[[ core.system: if, user, Hallo $prename, wie schön dich wieder auf meiner Seite begrüssen zu dürfen! ]]
[[ core.system: if, guest, Hallo Gast. Ich würde mich freuen wenn du dich auf meiner Seite registrierst. ]]

Eigentlich ganz einfach. Beim CoreMarkup für den registrierten Benutzer kann man folgende Platzhalter verwenden, damit man den Benutzer auch mit seinem Namen oder Nicknamen ansprechen kann:


$nickname (Nickname)
$prename (Vorname)
$middlename (Zweiter Vorname)
$name (Name)

 ]]></description>
		</item>
		<item>
		<title>Email Adressen verschleiern</title>
		<link>http://fredibach.ch/weblog-de.125_email-adressen-verschleiern.html</link>
		<guid>http://fredibach.ch/weblog-de.125_email-adressen-verschleiern.html</guid>
		<pubDate>Wed, 11 Nov 2009 20:43:51 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Emails sollten nie als Text oder Mailto-Link auf Webseiten veröffentlicht werden, da die Gefahr auf diese Weise von Spam zugemüllt zu werden einfach viel zu gross ist. Die sicherste Methode ist, nur Email-Formulare zu benutzen, aber leider gibt es auch immer wieder Gründe, dass man dann doch die Email anzeigen muss. Was also tun? Eine Methode die oft benutzt wird, ist die Adresse in einer Art &quot;Vorlese Sprache&quot; anzugeben. Ein Beispiel:

info at meinedomain dot com

Aber Spam Bots sind mitlerweilen schlau genug um auch solche Adressen zu erkennen, also auch keine gute Lösung. Aber wir benutzen ja CoreNeo und da gibt es ein CoreMarkup, dass die Emails besser verschleiert. Das CoreMarkup sieht wie folgt aus:

[[ core.system: obfuscate, email, info@meinedomain.com ]]

Das Resultat sieht dann für den Besucher wie eine normale Email-Adresse aus, erst wenn man den Quelltext der Seite anschaut erkennt man wie stark die Adresse eigentlich verschleiert wurde:

info&amp;#64;&amp;#109;ei&amp;#x6e;&amp;#x65;&amp;#100;&amp;#111;&amp;#x6d;a&amp;#x69;&amp;#x6e;.c&amp;#111;&amp;#109;

Natürlich bietet auch diese Methode keine hunderprozentige Sicherheit, aber für die meisten Spam Bots sollte sie genügen.
 ]]></description>
		</item>
		<item>
		<title>Markdown zwischen HTML Tags</title>
		<link>http://fredibach.ch/weblog-de.124_markdown-zwischen-html-tags.html</link>
		<guid>http://fredibach.ch/weblog-de.124_markdown-zwischen-html-tags.html</guid>
		<pubDate>Wed, 11 Nov 2009 20:17:56 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ 



Markdown ignoriert jeglichen Inhalt zwischen HTML Tags, ein Verhalten das im Normalfall erwünscht ist, aber in gewissen Fällen auch störend sein kann. Es ist aber durchaus auch möglich Markdown zwischen HTML Tags zu verwenden, und das sogar ohne die Zuhilfenahme eines Moduls wie zum Beispiel des Snippet Moduls.

Mit Hilfe des System CoreMarkup kann Inhalt in Variablen gespeichert werden und dann auf verschiedene Arten wieder ausgegeben werden. Hier ein Beispiel:

[[ core.system: set, var, divcontent = Mein Text ]]

In diesem Biespiel ist &quot;divcontent&quot; der Name der Variable, und &quot;Mein Text&quot; der Inhalt. Die Variable wird in einem eigenen Namespace gespeichert, es muss also nicht darauf geachtet werden, dass andere Variablen des PHP Scripts überschrieben werden. Das Ausgeben des Inhalts dieser Variablen als Markdown funktioniert dann wie folgt:

[[ core.system: get as markdown, var, divcontent ]]

Hier der komplette Code der Infobox (das erste CoreMarkup schreibt CSS in den Head des Dokuments damit die Infobox auch speziell hervorsticht):
 ]]></description>
		</item>
		<item>
		<title>Inhalt manipulieren mit CoreMarkup</title>
		<link>http://fredibach.ch/weblog-de.115_inhalt-manipulieren-mit-coremarkup.html</link>
		<guid>http://fredibach.ch/weblog-de.115_inhalt-manipulieren-mit-coremarkup.html</guid>
		<pubDate>Wed, 28 Oct 2009 16:28:52 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Jeglicher Inhalt wird von CoreNeo im &quot;Contentarea&quot; Array gespeichert bevor die Template-Engine die ganzen Daten erhält und in der richtigen Reihenfolge zusammensetzt. Daten im Contentarea Array werden durch das Seitenelement in dem die Daten angezeigt werden sollen und einer ID des Erzeugers, zum Beispiel das News Modul, indentifiziert.

Mit dem &quot;System&quot; CoreMarkup kann man nun diese Seiten-Inhalte vor dem Zusammensetzen manipulieren. Folgende Möglichkeiten bestehen:


remove: Löscht die gewünschten Daten
reposition: Ändert die Anzeige Reihenfolge
overwrite: Überschreibt den Inhalt
prepend: Fügt am Anfang Inhalt hinzu
append: Fügt am Ende Inhalt hinzu
create: Erzeugt ein neues Contentarea Element


Hier ein Beispielscript:

Die erste Zeile entfernt den Sitemap Link aus dem Footer. Dann wird das Eingabeformular der Suche mit dem Text &quot;Search Disabled&quot; überschrieben. Die nächsten zwei Zeilen sorgen dafür, dass der neue Text hervorgehoben wird und die letzte Zeile schiebt das Ganze im Seitenbereich nach unten.

Natürlich wird das Script nur auf der Seite ausgeführt, auf der es eingefügt wurde. Damit es auf allen Seiten ausgeführt wird, muss das Script also mit Hilfe des CoreScript Tools auf allen Seiten eingefügt werden.

Und noch ein letzter Tipp als Bonus: Folgendes CoreMarkup listet alle Inhalte und deren Positionen auf:

[[ core.system: get, contentareas ]]
 ]]></description>
		</item>
		<item>
		<title>Alle Optionen des Bilder CoreMarkups</title>
		<link>http://fredibach.ch/weblog-de.113_alle-optionen-des-bilder-coremarkups.html</link>
		<guid>http://fredibach.ch/weblog-de.113_alle-optionen-des-bilder-coremarkups.html</guid>
		<pubDate>Tue, 27 Oct 2009 16:29:28 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Das sowohl nützlichste wie auch flexibelste CoreMarkup ist mit Sicherheit das Bilder CoreMarkup &quot;core.dbimg&quot;. Es kann hochgeladene Bilder auf unterschiedlichste Art und Weise skalieren, im Fliesstext einfügen und verlinken. Hier eine detailierte Übersicht aller Optionen.

Der Name des Bildes

[[ core.dbimg: meinbild.jpg, 100%, right ]]

Die Skalierung

[[ core.dbimg: meinbild.jpg, 100%, right ]]


100% (volle Breite)
50% (halbe Breite)
- (keine Skalierung)
100%|4:1 (volle Breite, Bildformat 4:1)
100%|4:1|s (volle Breite, Bildformat 4:1, verzerrt)


Die Ausrichtung

[[ core.dbimg: meinbild.jpg, 100%, right ]]


- (Standard, kein Fliesstext)
left (linksbündig)
right (rechtsbündig)


Die Verlinkung (optional)

[[ core.dbimg: meinbild.jpg, 100%, right, http://domain.ch ]]


zoom (Standard, öffnet das Original)
- (Keine Verlinkung)
meineseit-de.html (interne Verlinkung)
http://domain.ch (externe Verlinkung)


Die Bildunterschrift (optional)

[[ core.dbimg: meinbild.jpg, 100%, right, -, - ]]


yes (Standard, falls vorhanden mit Bildunterschrift)
- (Keine Bildunterschrift)

 ]]></description>
		</item>
		<item>
		<title>Inoffizielles Kontaktformular im Seiteninhalt</title>
		<link>http://fredibach.ch/weblog-de.112_inoffizielles-kontaktformular-im-seiteninhalt.html</link>
		<guid>http://fredibach.ch/weblog-de.112_inoffizielles-kontaktformular-im-seiteninhalt.html</guid>
		<pubDate>Tue, 27 Oct 2009 15:10:09 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Es kann vorkommen, dass man ein Kontaktformular irgendwo im Seiteninhalt einfügen will, das einen Kontakt benutzt der aber nicht auf der Kontaktseite aufgeführt werden soll.

Um einen Kontakt im Kontakt-Modul zu erstellen, der nicht auf der Kontaktseite angezeigt wird, muss man eine Kontaktmöglichkeit &quot;config.excludefrom&quot; mit Wert &quot;modulpage&quot; hinzufügen. Der ganze Kontakt sieht dann in etwa wie folgt aus:

Anstelle von &quot;Blog Beispiel&quot; wird natürlich ein echter Einsatzzweck verwendet, zum Beispiel &quot;Fussballcoach Bewerbung&quot; oder &quot;Weihnachts Wettbewerb&quot;.

Auf der Seite oder in der News wird dann das Kontakt-Formular ganz normal per CoreMarkup eingefügt (mithilfe des CoreMarkup Icons über dem Eingabefeld).

Das Kontakt-Modul bietet noch mehr solche Konfigurationsmöglichkeiten auf die ich in einem späteren Blog-Eintrag noch eingehen werde. Im Prinzip kann man damit sehr flexibel, komplett eigenständige Formulare erstellen, wie zum Beispiel dieses hier auf unserer Muster Seite.
 ]]></description>
		</item>
		<item>
		<title>Horizontale Linien mit Bildern</title>
		<link>http://fredibach.ch/weblog-de.111_horizontale-linien-mit-bildern.html</link>
		<guid>http://fredibach.ch/weblog-de.111_horizontale-linien-mit-bildern.html</guid>
		<pubDate>Tue, 27 Oct 2009 14:08:11 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Mit Markdown kann man auf einfache Weise horizontale Linien erstellen, einfach drei &quot;Unterstrich&quot; Zeichen aneinanderfügen und man erhält eine einfache Linie:



Es geht aber auch kreativer, wie wäre es zum Beispiel mit so etwas:

Oder sogar mit Farbe:

Leider kann man solche Linien mit Markdown nicht realisieren, zumindest nicht ohne zusätzlichen Einsatz von CSS Styles, aber CoreMarkup sei Dank, ist die Lösung gar nicht mal so kompliziert. Als erstes brauchen wir ein Bild eines Farbverlaufs das wir hochladen, hier zum Beispiel das Bild das ich für die blaue Linie verwendet habe:

Damit das Bild beim skalieren auf die volle Breite gestreckt und nicht ausgeschnitten wird, benutzen wir eine zusätzliche Option und verwenden ein extremes Seitenverhältnis von 75:1 (je nach Inhaltsbreite kann hier auch ein anderes Seitenverhältniss das optimale Resultat liefern):

[[ core.dbimg: blue_gradient.gif, 100%|75:1|s, -, - ]]

Das &quot;s&quot; steht hier für &quot;skewed&quot;, was auf deutsch &quot;verzogen&quot; heisst, eine Eigenschaft die wir beim normalen Bilderskalieren nicht wirklich gebrauchen können, uns aber hier weiterhilft.

So einfach ist das, nur jetzt nicht übertreiben mit der Kreativität, einfacher ist oft schöner.
 ]]></description>
		</item>
		<item>
		<title>Anpassen der automatischen Bilderskalierung</title>
		<link>http://fredibach.ch/weblog-de.110_anpassen-der-automatischen-bilderskalierung.html</link>
		<guid>http://fredibach.ch/weblog-de.110_anpassen-der-automatischen-bilderskalierung.html</guid>
		<pubDate>Tue, 27 Oct 2009 13:13:15 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Die automatische Bilderskalierung von CoreNeo bekommt vom eingesetzten Design die Breite des Inhaltsbereichs mitgeteilt und skaliert basierend auf dieser Grössenangabe. Ab und zu ist es aber nötig diesen Wert zu ändern, zum Beispiel wenn man die Bilderskalierung im Seitenbereich verwenden will, der ja meistens kleiner ist als der Inhaltsbereich.

Zum ändern der Breite können wir das &quot;system&quot; CoreMarkup verwenden. Ist zum Beispiel unser Seitenbereich 250 Pixel breit, dann benutzen wir das CoreMarkup wie folgt:

[[ core.system: set, contentwidth, 250 ]]

Ein 100% breites Bild sieht dann wie folgt aus:

Damit sich diese neue Breite nicht über die ganze Seite fortsetzt, müssen wir jetzt den Wert wieder zurücksetzen. Dafür verwenden wir wieder das gleiche CoreMarkup, nur dieses mal mit dem Befehl &quot;reset&quot;:

[[ core.system: reset, contentwidth ]]

Ein 100% breites Bild wird damit wieder auf die ursprüngliche Grösse skaliert:
 ]]></description>
		</item>
		<item>
		<title>Zufälliges Zitat im Seitenbereich</title>
		<link>http://fredibach.ch/weblog-de.107_zufaelliges-zitat-im-seitenbereich.html</link>
		<guid>http://fredibach.ch/weblog-de.107_zufaelliges-zitat-im-seitenbereich.html</guid>
		<pubDate>Mon, 26 Oct 2009 13:49:43 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Nein, ich habe kein neues Modul geschrieben um zufällige Zitate im Seitenbereich anzuzeigen, es geht auch mit ein wenig Einfalsreichtum und den bestehenden Funktionen. Zusätzlich zu der Core-Funtionalität brauchen wir nur das Snippet Modul, wer es also noch nicht installiert hat, sollte dies jetzt nachholen, einfach den Extras-Shop aufrufen und gratis installieren.

Nachdem das Modul installiert ist, öffne das Admin-Panel des Moduls und erstelle eine Kategorie &quot;Zitate&quot;. Danach kannst du für alle deine liebsten Zitate ein Snippet erstellen. Am besten du verwendest die Zitat-Formatierung von Markdown damit die Zitate auch schön angezeigt werden.

Was jetzt noch fehlt ist ein CoreScript das jeweils ein zufälliges deiner Zitate im Seitenbereich anzeigt. Öffne dazu das Tool CoreScript und erstelle ein Neues mit dem &quot;+&quot; Icon. Folgende Optionen musst du ändern:


Seiten-Position: sidebar: absbottom
Art der Daten: coremarkup
Daten: [[ module.snippets: zitate, -, random ]]


Speichern und deine Zitate werden ähnlich wie bei mir im Seitenbereich angezeigt. Je nachdem was für ein Design du verwendest, kann es sein, dass du noch zusätzliches Markdown, HTML und oder CSS einfügen musst damit sich das Zitat auch perfekt in den Seitenbereich einfügt.
 ]]></description>
		</item>
		<item>
		<title>Erstellen einer kreativen Bilder Galerie</title>
		<link>http://fredibach.ch/weblog-de.106_erstellen-einer-kreativen-bilder-galerie.html</link>
		<guid>http://fredibach.ch/weblog-de.106_erstellen-einer-kreativen-bilder-galerie.html</guid>
		<pubDate>Mon, 26 Oct 2009 13:19:51 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Normalerweise erstellt man eine Bilder Galerie mit dem &quot;Gallery CoreMarkup&quot;, was die Bilder eines Albums in einer schön geordneten Tabelle aus Bildern mit gleicher Breite anordnet. Es geht aber durchaus auch kreativer wie das folgende Beispiel zeigt:

Ermöglicht wird solch eine Galerie durch die Option beim CoreMarkup einen Offset festzulegen. Ohne Offset:

core.gallery: CG Girls, new to old, 20, 4

Mit Offset:

core.gallery: CG Girls, new to old, 20+10, 4

Hier der komplette Code für die oben angezeigte Galerie:
 ]]></description>
		</item>
		<item>
		<title>Die Muster AG Beispielseite</title>
		<link>http://fredibach.ch/weblog-de.105_die-muster-ag-beispielseite.html</link>
		<guid>http://fredibach.ch/weblog-de.105_die-muster-ag-beispielseite.html</guid>
		<pubDate>Sun, 25 Oct 2009 22:01:39 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ CoreNeo bietet einen sehr grossen Funktionsumfang trotz einfacher Bedienung. Einen kleinen Überblick über die wichtigsten Funktionen bietet die Muster AG Seite. Die Meisten der auf der Seite gezeigten Funktionen können flexibel miteinander kombiniert werden und bieten oft zusätzliche Funktionalität die nicht auf den ersten Blick ersichtlich ist. Auf diesem Blog werde ich auf einige dieser Möglichkeiten detailierter eingehen, also immer wieder mal reinschauen. ;-)
 ]]></description>
		</item>
		<item>
		<title>Seitenverhältnis von Bildern</title>
		<link>http://fredibach.ch/weblog-de.104_seitenverhaeltnis-von-bildern.html</link>
		<guid>http://fredibach.ch/weblog-de.104_seitenverhaeltnis-von-bildern.html</guid>
		<pubDate>Sun, 25 Oct 2009 21:06:19 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Das Seitenverhältnis von Bildern, auch Bildformat genannt, beschreibt das Verhältnis von Breite zu Höhe eines Bildes. Ein TV Breitbild hat zum Beispiel ein 16:9 Seitenverhältnis. Mit der automatischen Skalierung von Bildern bietet CoreNeo eine sehr nützliche Funktion, die aber nicht immer zu einem optimalen Resultat führt, besonders hochformatige Bilder die auf die volle Breite skaliert werden nehmen oft zuviel Platz weg:

Besser wäre es in diesem Fall, nur den mittleren Teil des Bildes zu verwenden. Durch die Möglichkeit von CoreNeo nicht nur die Skalierung anzugeben, in diesem Fall 100%, sondern auch das Seitenverhältnis, lässt sich das Problem sehr elegant umgehen, das sieht dann zum Beispiel so aus:

... bildname.jpg, 100%|2:1, - ...

Das Entscheidende ist das &quot;|2:1&quot; nach der Prozentangabe. &quot;2&quot; ist die Breite und &quot;1&quot; die Höhe. Hier das Resultat:

Viel besser, oder? Und bei Klick auf das Bild erhält der Besucher wie üblich die volle Grösse.
 ]]></description>
		</item>
		<item>
		<title>RSS Feeds</title>
		<link>http://fredibach.ch/weblog-de.103_rss-feeds.html</link>
		<guid>http://fredibach.ch/weblog-de.103_rss-feeds.html</guid>
		<pubDate>Sun, 25 Oct 2009 20:21:42 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Wikipedia über RSS Feeds:


  RSS ist ein Service auf Webseiten, der, ähnlich einem Nachrichtenticker, die Überschriften mit einem kurzen Textanriss und einen Link zur Originalseite enthält. Die Bereitstellung von Daten im RSS-Format bezeichnet man auch als RSS-Feed (engl. to feed – im Sinne von versorgen, einspeisen, zuführen). Er liefert dem Leser, wenn er einmal abonniert wurde, automatisch neue Einträge. Der Client sendet also in regelmäßigen Abständen Anfragen zur Aktualisierung des RSS-Feeds an den Server.


Natürlich bietet auch CoreNeo verschiedene RSS Feeds an. Wer das News-Modul benutzt kann einen Feed konfigurieren, der dann automatisch angeboten wird. Auch kann wer mehrere verschiedene News-Seiten betreibt, zu all diesen jeweils einen eigenen Feed anbieten, hier ein Beispiel für News Einträge mit dem Schlüsselwort &quot;coreneo&quot;:

http://meinedomain.ch/news.rss_2_de_25_coreneo_all.xml

Ein News-Modul ist natürlich das offensichtlichste Feature das Feeds anbietet, aber auch andere CoreNeo Funktionen und Module bieten RSS-Feeds an. Wer zum Beispiel das Album Modul benutzt, kann einen Feed mit jeweils den zuletzt veröffentlichten Alben anbieten:

http://meinedomain.ch/albums.rss_2_de.xml

Oder wer einen Micro Weblog eines Benutzers, hier zum Beispiel &quot;Subway&quot;, auch als RSS Feed anbieten will, kann das wie folgt:

http://meinedomain.ch/-microlog.rss_2_de_25_Subway.xml

Für RSS-Feeds gibt es ein offizielles Icon, es wird daher empfohlen dieses auch zu benutzen.
 ]]></description>
		</item>
		<item>
		<title>Mehrere News Seiten mit unterschiedlichem Inhalt</title>
		<link>http://fredibach.ch/weblog-de.102_mehrere-news-seiten-mit-unterschiedlichem-inhalt.html</link>
		<guid>http://fredibach.ch/weblog-de.102_mehrere-news-seiten-mit-unterschiedlichem-inhalt.html</guid>
		<pubDate>Sun, 25 Oct 2009 18:57:29 +0100</pubDate>
		<category>coreneo</category>
		<description><![CDATA[ Seit dem Bands on Tour Projekt, unterstützt CoreNeo das Anzeigen von News-Seiten und News-Listen mit unterschiedlichem Inhalt. Auf meinem Weblog benutze ich das gleiche Feature für untergeordnete Weblogs auf denen ich Inhalte veröffentliche, die ich nicht auf der Homepage anzeigen will.

Aber wie funktioniert das Ganze? Ganz einfach. Beim Schreiben einer News kann man im Feld &quot;News Schlüsselwörter&quot; ein oder mehrere Schlüsselwörter zuweisen und dann News-Seiten erstellen die nur News mit diesem bestimmten Schlüsselwort anzeigen. Auf meiner Seite ist es zum Beispiel so, dass wenn ich eine News für die Homepage schreiben will, dann füge ich das Schlüsselwort &quot;main&quot; hinzu. Will ich ein Gleitschirm Video veröffentlichen, dann benutze ich das Schlüsselwort &quot;paragliding&quot; und für Einträge im offiziellen CoreNeo Weblog, wie zum Beispiel dieses hier, benutze ich das Schlüsselwort &quot;coreneo&quot;.

Die News Seite muss nun so konfiguriert werden, dass nur Nachrichten mit einem bestimmten Schlüsselwort angezeigt werden. Dies geschieht über die Konfiguration &quot;Inhalt&quot; wo ich zum Beispiel &quot;Nur News mit dem Schlüsselwort main&quot; wähle für den Homepage Weblog oder &quot;Nur News mit dem Schlüsselwort paragliding&quot; für den Gleitschirm Weblog.

Damit du beim Schreiben der News Einträge nicht immer wieder das gleiche Keyword von Hand schreiben musst und damit die Gefahr besteht, dass du dich dabei vertipst, kannst du diese auch in der News-Modul Konfiguration eintragen und danach jeweils per einfachem Klick benutzen.
 ]]></description>
		</item>
	</channel>
</rss>
<!-- cl= cls=news -->


