- phaidon antwortet auf »[gelöst] Keine Piwik Statistiken unter 1.3« 09:31 Uhr
- trichers antwortet auf »[wieder neu] Pagemaster kein Bildupload - Fehlermeldung von Thumbnail« 01:35 Uhr
- papamac antwortet auf »menutree füllt meinen error_log« 24. Mai
- FRW eröffnet das Thema »Postcalendar Block Upcoming events« 24. Mai
- papamac antwortet auf »[gelöst] Installation Clip 092 in frisches Zikula133 misslingt und brin…« 21. Mai
- trichers antwortet auf »Clip & Google Maps« 17. Mai
- Roadrunner antwortet auf »[geklärt] Ziku.la« 16. Mai
Anmeldung
Werbung
Anleitung: News mit Pagesetter
Ein schon lange und zu Recht gefordertes Feature für das Postnuke-Newssystem ist die Möglichkeit einfach Bilder zu integrieren. Die Lösung mit verschiedenen Topic-Bildern ist da nur eine Übergangslösung und ist auf meiner Homepage schnell an Grenzen gestoßen. Es ist schön wenn man für bestimmte Themen nicht immer ein neues Bild finden muss, es ist aber auch gut, wenn man ein ansprechendes Bild hat und dieses extra benutzen kann. Deswegen bin ich gestern auf meiner Homepage auch für die News auf Pagesetter umgestiegen.
Die Konvertierung läuft in ein paar einfachen Schritten:
- Pagesetter enthält schon einen Import für die Postnuke-News. Unter Administration/Pagesetter/Tools/Daten importieren habe ich per Klick meine 100 vorhandenen Artikel importiert. Pagesetter legt dazu einen passenden Publication Type an. Die Templates liegen schon im entsprechenden Ordner.
- Während des Imports kann man Pagesetter sagen, dass auch gleich ein extra Feld für Bilder angelegt werden soll. Das ist normalerweise ein Feld, dass die Bilder in der Photoshare-Galerie sucht. Da ich meine Bilder vermutlich nicht in anderen Artikeln wiederverwenden will, habe ich das Feld auf Bild-Upload umgestellt.
- Als nächstens habe ich die News-Templates aus dem Theme in die PN-News-Templates kopiert und die Variablen des News-Moduls durch die Equivalente aus Pagesetter ersetzt. Danach sahen die News in Pagesetter genauso aus, wie die vorher im News-Modul.
Aus News-index.htm wird in Pagesetter PN-News-list.htm
Aus News-article.htm wird in Pagesetter PN-News-full.htmMan öffnet also News-index.htm und PN-News-list.htm mit einem Texteditor. Nun kopiert man den Source-Code von News-index.htm in PN-News-list.htm. So dass man in der PN-News-list.htm sowohl den ursprünglichen Code als auch den Code aus dem News-Modul-Template hat.
Genau wie jedes Template hat auch jede Variable aus dem News-Modul ein Equivalent in Pagesetter: Schaut man sich zum Beispiel an, wie im News-Modul die verlinkte Überschrift erzeugt wird, sieht man vermutlich eine $preformat-Variable, die aufgerufen wird. Die enthält schon Link und Titel. In Pagesetter kann man sich das aber mit der Variablen $core.FullURL und $core.title und den üblich HTML-Tags selbst zusammenbauen.
Man guckt jetzt einfach immer in dem alten Pagesetter-Template, wie da die Variablen eingebaut werden, kopiert sie und ersetzt mit ihnen das Gegenstück in dem Code aus dem News-Modul.
Wenn man dann alle Variablen ersetzt hat, löscht man den Source-Code von dem ursprünglichen Pagesetter-Template, speichert das Ganze ab und schaut sich im Browser das Ergebnis an.
Falls Variablen fehlen sollten, kann man einfach
einfügen und sich die passenden Variablen raussuchen. (Achtung: PopUps müssen im Browser erlaubt sein!)Code
<!--[ pndebug ]--> - Ich lehnte mich zurück und sah, dass es gut war. Doch oh Schreck: die rechten Blöcke mit den Related Links und den weiteren Artikel zum Thema fehlten! Da musste nachgebessert werden. Im Pagesetter Forum fand ich eine Lösung für weitere Artikel aus einer Kategorie ohne den aktuellen Artikel. Ich wollte aber weitere Artikel aus dem Topic. Und das geht so: Man muss ein zusätzliches Template "PN-News-inlineList.html" anlegen. Das sieht bei mir so aus:
Code
</li><li>
<a style="text-decoration: none;" href="<!--[$core.fullURL]-->" ttile="<!--[$title]-->"><!--[$title]--></a>
</li>
Im Template "PN-News-full.html" sieht der Aufruf dann so aus:
Code
<strong>Weitere Artikel:</strong>
<ul>
<!--[pagesetter_createFilter filter=core.topic:eq:`$core.topic.id`,core.id:ne:`$core.id` assign=listFilter]-->
<!--[pagesetter_inlinePubList tid=9 filter=$listFilter pubcnt=3]-->
</ul>
Der Filter zeigt 3 Artikel aus dem Publication Type 9 (PN-News bei mir) an, bei denen die Topic-ID die gleiche ist, wie beim angezeigten Artikel und bei dem die Artikel-ID nicht die gleiche ist. - Mir fällt gerade auf, dass ja auch die Related Links fehlen. Dazu habe ich schonmal ein Plugin geschrieben. Wer will, kann sich auch da noch einbauen.
- Soweit ich weiss, ist es SEO-mäßg von Vorteil, wenn der Titel eines Artikels auch in der URL auftaucht. Dazu habe ich mir einen kleinen Trick ausgedacht: Ich häng an die URL einfach noch einen Parameter "titel" - der wird dann von den ShortURLs umgesetzt. Dazu muss man aber alle Sonderzeichen und Leerstellen rausfiltern. Bei mir sehen deswegen alles Links so aus:
Code
<a style="text-decoration: none;"></a>[^a-zA-Z0-9_\.]/":""]-->">
<!--[$title]--> - Letztlich wollte ich noch gerne sehen, wie oft meine Artikel gelesen werden, ohne diese Information für die normalen User zugänglich zu machen - das geht schließlich keinen etwas an. Und diese Anzeige hat für mich immer etwas amateurhaftes: "Guck mal - schon 12 Leute haben meinen tollen Artikel gelesen" mit folgendem Code können nur User mit Adminrechten für die News die Zugriffszahlen einsehen:
Code
<!--[pnsecauthaction realm="0" comp="Stories::" inst=".*" level="ACCESS_ADMIN" assign="auth"]-->
<!--[if $auth]-->
Zugriffe: <!--[nocache]--><!--[$core.hitCount]--><!--[/nocache]-->
<!--[/if]--> - Den Avatar des Autors habe ich folgendermaßen integriert: Der Links zum Profile funktioniert so nur mit AdvProfile. Für das normale Profile kann man einfach die URL anpassen. Aber ich denke, dass man das Prinzip versteht.
Code
<a href="index.php?module=advProfile&uname=<!--[$core.creator]-->">
<img src="/images/avatar/<!--[pnusergetvar name=" uid="$core.creatorID|pnvarprepfordisplay]-->"" align="left" style="border:1px; border-style:solid; margin-right:4px; margin-top:4px; padding:2px; border-color: <!--[ pnthemegetvar name=bgcolor4 ]-->;" alt="Autor: <!--[pnusergetvar name=" />
</a> - Das letzte Problem ist, dass in den Suchmaschinen ja noch die Links zu den News sind. Vielleicht hat ja auch der eine oder andere einen Link auf einen meiner Artikel gesetzt. Damit die User auch das finden, was sie suchen, hab ich die ShortURLs einfach umgebogen. ArtikelXY.html verweist bei mir jetzt auf pagesetter. Nach und nach sollten dann die alten Links aus den Suchmaschinen verschwinden. In der .htaccess sieht es an der entsprechenden Stelle so aus:Zu beachten ist, dass natürlich die tid angepasst werden muss.
Code
# Articles / Articoli
RewriteRule ^Article([0-9]+)\.html$ index.php?module=pagesetter&func=viewpub&tid=9&pid=$1 [L,NC,NS]
RewriteRule ^Article([0-9]+)-([A-Za-z=]+)(-order([0-9]))?(-threshold([0-9\-]{1,2}))?\.html$ modules.php?op=modload&name=News&file=article&sid=$1&mode=$2&order=$4&thold=$6 [L,NC,NS]
Ich hoffe, dass meine Tipps verständlich sind und Euch ein wenig helfen, Eure Sites aufzumöbeln. Vielleicht schaffen ja darüber auch mehr Leute den Einstieg in die Benutzung von pagesetter.
Ein Nachteil, den man sicher festhalten muss ist, dass man bei der ausschließlichen Benutzung von pagesetter für alle möglichen Inhalte auf die Anordnung verschiedener Blöcke verzichten muss. Ich bin mir aber sicher, dass Xanthia da in nächster Zeit nachgebessert wird.
Ach ja: Zu sehen ist das alle auf kaffeeringe.de
Diese und weitere Tipps & Tricks rund um Pagesetter gibt's auf pagesetter.org (engl.).
Kommentare
Super!!!!
sehr schick, mir gefällt die idee der short url mit "title=" sehr gut. dazu auch meine frage. suchmaschinen mögen keinen doppelten inhalt, unter zwei url dengleichen inhalt verschlechtert die suchposition. das problem taucht auf beim einsatz von short url und rss feeds. diese werden von web aggregatoren syndiziert....und haben die langen urls wieder drin. booom. doppelte url. gibts da bereits einen lösungsansatz dazu, wie ich in den feeds drin die langen urls auf short urls umbiegen kann?
Kannst Du nicht über die robots.txt den Zugriff der Spider auf die RSS-Feeds und die Druckversionen blockieren?
Hi.
Schaut gut aus. Ich habe bei mir auch (fast) alles über Pagesetter laufen. Ist ist sooo vielseitig.
Ich habe nur ein kleines Problem, vielleicht kann mir das ja mal einer lösen... Ich hmöchte das der Text auch unter dem Bild weiter läuft und nicht nur in der linken Spalte...
Code
<tr height="15">
<td width="15" height="15"></td>
<td valign="top" height="15"></td>
<td width="15" height="15"></td>
<td width="232" height="15"></td>
<td width="15" height="15"></td>
</tr>
<tr height="25">
<td width="15" height="25"></td>
<td valign="top" height="25"><!--[$headline]--><br />
<font size="-2">von <!--[$name]-->, <!--[$core.lastUpdated|date_format:"%d.%m.%Y" ]--><br />
<br />
</font></td>
<td width="15" height="25"></td>
<td width="232" height="25"></td>
<td width="15" height="25"></td>
</tr>
<tr height="232">
<td width="15" height="232"></td>
<td rowspan="2" valign="top" height="273"><!--[$artikel]--><br clear="all" />
<p></p>
</td>
<td width="15" height="232"></td>
<td valign="top" width="232" height="232">
<div align="center">
<table width="232" cellpadding="0" height="232">
<tr>
<td valign="top"><!--[if $image != "" ]--><img src="<!--[$image]-->" height="230" width="230" alt="<!--[$imagetext]-->" title="<!--[$imagetext]-->" /><br />
<i><!--[$imagetext]--></i><!--[/if]--></td>
</tr>
</table>
</div>
</td>
<td width="15" height="232"></td>
</tr>
<tr height="15">
<td width="15" height="15"></td>
<td width="15" height="15"></td>
<td width="232" height="15"></td>
<td width="15" height="15"></td>
</tr>
<tr height="15">
<td width="15" height="15"></td>
<td height="15"></td>
<td width="15" height="15"></td>
<td width="232" height="15"></td>
<td width="15" height="15"></td>
</tr>
<tr>
<td width="15"></td>
<td><font size="-7"><!--[$core.printThis]--></font><font size="-2">|</font><font size="-2"> $hitCount$ mal gelesen</font>
<p><a><< zurück</a></p>
</td>
<td width="15"></td>
<td width="232"></td>
<td width="15"></td>
</tr>
</table>
Solche Fragen sind im Forum besser aufgehoben. Aber wenn's sein muß. Nicht einfacher wie dies, mein Herr:
Code
<!--[if $image != "" ]--><div style="width:230; float:right;"><img src="<!--[$image]-->" height="230" width="230" alt="<!--[$imagetext]-->" title="<!--[$imagetext]-->" />
<br />
<i><!--[$imagetext]--></i></div><!--[/if]-->
Dieser Beitrag ist mit Firefox und Opera unlesbar, mit IE okay;-(
Aber ich benutz doch Firefox. Bei mir ist alles normal. Hast Du vielleicht son Rendgruppen-OS?
nee
Jetzt tuns allerdings firefox + opera (vorher überlagerte die linke Navigationsleiste den linken Rand des Textes)
Quote
...Ich hoffe, dass meine Tipps verständlich sind und Euch ein wenig helfen, Eure Sites aufzumöbeln. Vielleicht schaffen ja darüber auch mehr Leute den Einstieg in die Benutzung von Pagesetter. ...
Leider nicht! Leider hatt Deine Erklärungswut an der Stelle als es um die NewsTemplates geht, meines Erachtens, stark nachgelassen.
Ich hab es leider nicht verstanden. konnte es auch durch probieren nicht nachvollziehen und das Modul Pagesetter am Ende wieder entfernt.
Vielleicht mit der nächsten Anleitung
Ich hab's nochmal ein wenig genauer beschrieben.
Nur angemeldete Benutzer dürfen kommentieren. Registrierung oder Anmeldung.

Kommentare