Für News individueller Titel und Description erzeugen
Für News individueller Titel und Description erzeugen
Guten Morgen an alle,
bei mir kommt schon seid längerer Zeit die Frage auf, wie man es im News Modul einrichten kann, das nach dem erzeugen einer News bzw. während des erzeugens, für die Suchmaschinen ein individueller Title und eine individuelle Description angeboten wird.
Nachdem z.B. Google die ganzen vorgeschlagenen Seiten indexiert hat und die News auch mit aufgenommen hat, fällt mir auf, das als Title ( ich spreche von der Meta Title Funktion vom Grundtemplate der Seite ) in der Regel immer ein und der selbe Text enthalten ist. Das gleiche gilt für die Description.
Kann man dafür die Funktion "Extra Felder" verwenden und wie kann ich diese, wahrscheinlich als If Abfrage, in meinen Header bekommen.
Bin nun mal leider nicht der Programmierer
Als kleine Nebenfrage noch, ist es eigentlich möglich die News auch in die Sitemap.xml mit rein zu bringen? Komme auf diese Frage weil ein anderes Modul diese Möglichkeit anbietet ( habe ich aber ehrlich gesagt noch nicht getestet )
bei mir kommt schon seid längerer Zeit die Frage auf, wie man es im News Modul einrichten kann, das nach dem erzeugen einer News bzw. während des erzeugens, für die Suchmaschinen ein individueller Title und eine individuelle Description angeboten wird.
Nachdem z.B. Google die ganzen vorgeschlagenen Seiten indexiert hat und die News auch mit aufgenommen hat, fällt mir auf, das als Title ( ich spreche von der Meta Title Funktion vom Grundtemplate der Seite ) in der Regel immer ein und der selbe Text enthalten ist. Das gleiche gilt für die Description.
Kann man dafür die Funktion "Extra Felder" verwenden und wie kann ich diese, wahrscheinlich als If Abfrage, in meinen Header bekommen.
Bin nun mal leider nicht der Programmierer
Als kleine Nebenfrage noch, ist es eigentlich möglich die News auch in die Sitemap.xml mit rein zu bringen? Komme auf diese Frage weil ein anderes Modul diese Möglichkeit anbietet ( habe ich aber ehrlich gesagt noch nicht getestet )
Re: Für News individueller Titel und Description erzeugen
Als erstes musst du sicherstellen, dass du die Detail-News in einem separaten CMSms-Template aufrufst (Parameter findest du in der Modulhilfe).
Im News-Detail-Template ergänzt du als erste Zeile
Und in deinem für die News-Details festgelegten CMSms-Template ergänzt du im html-Header
Da die News-Details inline angezeigt werden (der content-tag wird durch die News-Details ersetzt), muss der Content geparst werden, damit dir die Variable {$detail_title} zur Verfügung steht.
Und im body kannst du dann {content} durch {$captured_content} ersetzen - damit dieser nicht zwei mal geparst wird.
In ähnlicher Weise kannst du dann die Extra-Felder für die description verwenden. Hier ein Thread, der dir dabei helfen dürfte
http://forum.cmsmadesimple.org/index.ph ... 563.0.html
Im News-Detail-Template ergänzt du als erste Zeile
Code: Select all
{assign var='detail_title' value=$entry->title}
Code: Select all
{content assign='captured_content'}
{if isset($detail_title)}
<title>{$detail_title}</title>
{else}
<title>{title}</title>
{/if}
Und im body kannst du dann {content} durch {$captured_content} ersetzen - damit dieser nicht zwei mal geparst wird.
In ähnlicher Weise kannst du dann die Extra-Felder für die description verwenden. Hier ein Thread, der dir dabei helfen dürfte
http://forum.cmsmadesimple.org/index.ph ... 563.0.html
Re: Für News individueller Titel und Description erzeugen
Ok, ich geb auf, ich finde nicht die Antwort für
Suche jetzt seid Stunden, entweder bin ich blind oder blöd
Kann mir dies vielleicht einer erklären. Danke schon mal im voraus
Wie geht dies bzw. wie macht man sowas. Ich bin eben kein Programmierer.geparst
Suche jetzt seid Stunden, entweder bin ich blind oder blöd
Kann mir dies vielleicht einer erklären. Danke schon mal im voraus
Re: Für News individueller Titel und Description erzeugen
Das Wort geparst (engl. to parse = analysieren) ist doch eigentlich irrelevant um das Prinzip zu verstehen.
Du brauchst nur im News-Detail Template eine Zeile einzufügen (oben, am Ende, links, rechts ... völlig wurscht.)
Dann sollst Du ein Template anlegen, welches Du der Seite zuweist, auf der die News-Details angezeigt werden sollen. (Wie man dem News-Modul sagt, dass es Details nicht auf der aktuellen sondern auf einer ganz bestimmten Seite anzeigen soll, siehe Modul Hilfe - einfach nach Parameter "detailpage" suchen)
Dazu brauchst Du nur das normale Seitentemplate kopieren und wie folgt bearbeiten:
Den {content} Tag einfach vor den Title setzen und dabei den Parameter "assign" verwenden. Damit wird der Inhalt nicht ausgegeben sondern einer Variablen zugewiesen.
Diese Variable nutzt Du dann an der Stelle wo vorher der {content} Tag stand.
(Sonst isser ja zweimal da)
Bei den News-Details wird der eigentliche Seiteninhalt durch die Details eines News-Artikels ersetzt. D.h. an dieser Stelle wird anstelle des eigentlichen Seiteninhalts sinngemäß das News Modul mit der Aktion "Details für Artikel XY anzeigen" ausgeführt. Dadurch stehen dem Rest des Templates ab dieser Stelle an der der Seiteninhalt verarbeitet wird bzw. ab der Stelle wo er im Template steht - also alles was im Template nach {content} kommt - alle Variablen des News-Moduls zur Verfügung.
Wenn der {content} Tag also vor dem Title steht, dann kann man im Title logischerweise auch irgendeine Ausgabe des News-Moduls verwenden. Z.B. den Titel des gerade angezeigten News-Artikels. Oder die Kategorie, den Author, Datum ... alles was man so im Head dieser Seite braucht und im News-Detail-Template definiert wurde.
Du brauchst nur im News-Detail Template eine Zeile einzufügen (oben, am Ende, links, rechts ... völlig wurscht.)
Dann sollst Du ein Template anlegen, welches Du der Seite zuweist, auf der die News-Details angezeigt werden sollen. (Wie man dem News-Modul sagt, dass es Details nicht auf der aktuellen sondern auf einer ganz bestimmten Seite anzeigen soll, siehe Modul Hilfe - einfach nach Parameter "detailpage" suchen)
Dazu brauchst Du nur das normale Seitentemplate kopieren und wie folgt bearbeiten:
Den {content} Tag einfach vor den Title setzen und dabei den Parameter "assign" verwenden. Damit wird der Inhalt nicht ausgegeben sondern einer Variablen zugewiesen.
Diese Variable nutzt Du dann an der Stelle wo vorher der {content} Tag stand.
(Sonst isser ja zweimal da)
Bei den News-Details wird der eigentliche Seiteninhalt durch die Details eines News-Artikels ersetzt. D.h. an dieser Stelle wird anstelle des eigentlichen Seiteninhalts sinngemäß das News Modul mit der Aktion "Details für Artikel XY anzeigen" ausgeführt. Dadurch stehen dem Rest des Templates ab dieser Stelle an der der Seiteninhalt verarbeitet wird bzw. ab der Stelle wo er im Template steht - also alles was im Template nach {content} kommt - alle Variablen des News-Moduls zur Verfügung.
Wenn der {content} Tag also vor dem Title steht, dann kann man im Title logischerweise auch irgendeine Ausgabe des News-Moduls verwenden. Z.B. den Titel des gerade angezeigten News-Artikels. Oder die Kategorie, den Author, Datum ... alles was man so im Head dieser Seite braucht und im News-Detail-Template definiert wurde.
Last edited by NaN on Sun Aug 08, 2010 4:59 pm, edited 1 time in total.
Re: Für News individueller Titel und Description erzeugen
Sorry, manchmal ist man zu sehr im Fachjargon drin - Smarty parst die Templates automatisch. Da musst du nix zu tun.tbtip wrote: Ok, ich geb auf, ich finde nicht die Antwort fürWie geht dies bzw. wie macht man sowas.geparst
Ansonsten einfach noch mal fragen ...
Re: Für News individueller Titel und Description erzeugen
Dann solltest du es vielleicht erst mal testen ... ansonsten müsste man separat was programmieren.tbtip wrote: ist es eigentlich möglich die News auch in die Sitemap.xml mit rein zu bringen? Komme auf diese Frage weil ein anderes Modul diese Möglichkeit anbietet ( habe ich aber ehrlich gesagt noch nicht getestet )
-
- Forum Members
- Posts: 10
- Joined: Fri Dec 12, 2008 10:38 am
- Location: Calheta de S. Miguel, Ilha de Santiago, Cabo Verde
Re: Für News individueller Titel und Description erzeugen
Hallo Wenn Du in Calguys modul SiteMapMadeSimple den nachfolgenden Code einfügst, werden auch die News angezogen. Quelle habe ich mir seinerzeit leider nicht notierttbtip wrote: ist es eigentlich möglich die News auch in die Sitemap.xml mit rein zu bringen? Komme auf diese Frage weil ein anderes Modul diese Möglichkeit anbietet ( habe ich aber ehrlich gesagt noch nicht getestet )
Code: Select all
{foreach from=$output item='page'}
<url>
<loc>{$page->url}</loc>
<lastmod>{$page->date|date_format:"%Y-%m-%d"}</lastmod>
<priority>{$page->priority}</priority>
<changefreq>{$page->frequency}</changefreq>
</url>
{/foreach}
Re: Für News individueller Titel und Description erzeugen
@geraldo
Danke für deinen Hinweis, aber dies ist ein Auszug aus dem Standard Template vom Modul SiteMapMadeSimple. Jedenfalls steht es so bei mir drin und damit funktioniert es leider nicht.
Aber noch mal Danke für deinen Tip
@cyberman + @NaN
leider bin ich aufgrund Zeitmangel noch nicht dazu gekommen euren Tip umzusetzen. Melde mich ob es so geklappt hat.
Danke für deinen Hinweis, aber dies ist ein Auszug aus dem Standard Template vom Modul SiteMapMadeSimple. Jedenfalls steht es so bei mir drin und damit funktioniert es leider nicht.
Aber noch mal Danke für deinen Tip
@cyberman + @NaN
leider bin ich aufgrund Zeitmangel noch nicht dazu gekommen euren Tip umzusetzen. Melde mich ob es so geklappt hat.
Re: Für News individueller Titel und Description erzeugen
So heute abend bin ich endlich mal dazu gekommen die Vorschläge anzutesten auf meinem Testsystem.
Leider ohne Erfolg.
Vorab folgende Information:
CMSMS Version 1.8.1
News Version 2.10.6
Habe in Detail Template von News die vorgeschlagene Zeile von cyberman eingefügt, siehe Auszug:
{* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *}
{if isset($entry->canonical)}
{assign var='canonical' value=$entry->canonical}
{/if}
{assign var='detail_title' value=$entry->title}
{if $entry->postdate}
{$entry->postdate|cms_date_format}
{/if}
{$entry->title|cms_escape:htmlall}
Habe ein neues Template eingerichtet mit dem Namen "weihnews" und den Vorschlag ebenfalls eingefügt.
{content assign='captured_content'}
{if isset($detail_title)}
{$detail_title}
{else}
{title}
{/if}
Danach im Template weihnews auch den {content} ausgetauscht gegen {$captured_content}, siehe Auszug:
{print showbutton=true script=true}
{title}
{$captured_content}
{anchor anchor='main' text='^ Top'}
Danach eine eigene Seite erstellt mit dem menu Namen News und dort folgenden Smarty Tag eingegeben:
{cms_module module='News' pagelimit='100000' sortasc='true' sortby='news_date' detailtemplate='weihnews' moretext='Weiter Lesen...' }
ich habe aber auch andere Varianten schon ausprobiert, z.B.
{news detailpage='weihnews'}
oder
{news deteiltemplate='weihnews'}
nichts funktioniert, es kommt beim anklicken der Detail News kein neues Template aber dafür eine Fehlermeldung
string(74) "Smarty error: unable to read resource: "module_db_tpl:News;detailweihnews""
Grundtemplate ist mit einer Harley und das News Detail Template ist in anlehnung an das Template von der Internetseite http://www.weihnachts-lichter.de
So das man auch einen wirklichen krassen unterschied hat wegen dem testen
Leider ohne Erfolg.
Vorab folgende Information:
CMSMS Version 1.8.1
News Version 2.10.6
Habe in Detail Template von News die vorgeschlagene Zeile von cyberman eingefügt, siehe Auszug:
{* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *}
{if isset($entry->canonical)}
{assign var='canonical' value=$entry->canonical}
{/if}
{assign var='detail_title' value=$entry->title}
{if $entry->postdate}
{$entry->postdate|cms_date_format}
{/if}
{$entry->title|cms_escape:htmlall}
Habe ein neues Template eingerichtet mit dem Namen "weihnews" und den Vorschlag ebenfalls eingefügt.
{content assign='captured_content'}
{if isset($detail_title)}
{$detail_title}
{else}
{title}
{/if}
Danach im Template weihnews auch den {content} ausgetauscht gegen {$captured_content}, siehe Auszug:
{print showbutton=true script=true}
{title}
{$captured_content}
{anchor anchor='main' text='^ Top'}
Danach eine eigene Seite erstellt mit dem menu Namen News und dort folgenden Smarty Tag eingegeben:
{cms_module module='News' pagelimit='100000' sortasc='true' sortby='news_date' detailtemplate='weihnews' moretext='Weiter Lesen...' }
ich habe aber auch andere Varianten schon ausprobiert, z.B.
{news detailpage='weihnews'}
oder
{news deteiltemplate='weihnews'}
nichts funktioniert, es kommt beim anklicken der Detail News kein neues Template aber dafür eine Fehlermeldung
string(74) "Smarty error: unable to read resource: "module_db_tpl:News;detailweihnews""
Grundtemplate ist mit einer Harley und das News Detail Template ist in anlehnung an das Template von der Internetseite http://www.weihnachts-lichter.de
So das man auch einen wirklichen krassen unterschied hat wegen dem testen
Last edited by tbtip on Mon Feb 28, 2011 3:37 pm, edited 1 time in total.
Re: Für News individueller Titel und Description erzeugen
Wie heißt denn das News Detail-Template?
Re: Für News individueller Titel und Description erzeugen
@NaN
Das News Detail Template hat die Standard Bezeichnung Sample behalten.
Das derzeitige allgemeine Standard Template vom CMSMS heißt Harley und für die News Seite habe ich weihnews verwendet
Das News Detail Template hat die Standard Bezeichnung Sample behalten.
Das derzeitige allgemeine Standard Template vom CMSMS heißt Harley und für die News Seite habe ich weihnews verwendet
Re: Für News individueller Titel und Description erzeugen
Dann verstehe ich nicht, wieso Du dem News-Modul sagst, es soll ein News-Detail-Template mit Namen "weihnews" verwenden (detailtemplate='weihnews') .tbtip wrote:
Das News Detail Template hat die Standard Bezeichnung Sample behalten.
Wenn das News Detail Template 'weihnews' nicht existiert, dann kommt es zu diesem Fehler.
Detailpage hast Du auch nicht angegeben bzw. hast Du dort den Namen des Seitentemplates eingetragen anstatt des Seitenalias.
Re: Für News individueller Titel und Description erzeugen
Hier gibts einen guten Thread über die Einbindung des Newstitle
http://forum.cmsmadesimple.org/index.ph ... 475.0.html
Für das extra-feld als description würde das analog umzuwandeln sein.
wo auch der title "assign'd" wird, also im detailtemplate
und in den globalen Einstellungen / Metatags:
{if isset($pagedescription)}
{else}
{/if}
und als kleiner Tipp: ich würde {content assign='captured_content'} an den Anfang des Templates setzen (also auf jeden Fall noch vor )
http://forum.cmsmadesimple.org/index.ph ... 475.0.html
Für das extra-feld als description würde das analog umzuwandeln sein.
Code: Select all
{assign var='pagedescription' value=$entry->extra}
und in den globalen Einstellungen / Metatags:
{if isset($pagedescription)}
{else}
{/if}
und als kleiner Tipp: ich würde {content assign='captured_content'} an den Anfang des Templates setzen (also auf jeden Fall noch vor )
Re: Für News individueller Titel und Description erzeugen
@owr_web
Danke für den Tip, alleine das setzen von {content assign='captured_content'} vor war der entscheidene Hinweis.
Klar vorher natürlich den Blödsinn den ich gemacht habe mit dem detailpage und detailtemplate gelöscht.
Werde es jetzt noch mal weiter mit der Description probieren und wenn es alles so passt wie es soll werde ich es mal auf meiner www.weihnachts-lichter.de Seite umsetzen und warten was Google daraus macht.
Danke für den Tip, alleine das setzen von {content assign='captured_content'} vor war der entscheidene Hinweis.
Klar vorher natürlich den Blödsinn den ich gemacht habe mit dem detailpage und detailtemplate gelöscht.
Werde es jetzt noch mal weiter mit der Description probieren und wenn es alles so passt wie es soll werde ich es mal auf meiner www.weihnachts-lichter.de Seite umsetzen und warten was Google daraus macht.
Re: Für News individueller Titel und Description erzeugen
So, individuelle News Titel und Description für Suchmaschinenoptimierung ( SEO ) wurde auf das scharfe System übertragen und funtioniert erst einmal. Jetzt muß man abwarten wie Google diese Variante akzeptiert.
Zusammenfassend möchte ich jetzt noch einmal hier auflisten was ich gemacht habe aufgrund der reichhaltigen Tips von Cyberman, NaN und owr_web.
Danke noch einmal auf diesen Wege an alle :)
1. Ich habe ein neues Extra Feld im News Modul definiert mit der Bezeichnung "description". Achtung dies muß auf öffentlich stehen, weil sonst die Daten später nicht angezeigt werden und darum habe ich unter Punkt 5 auch ein Teil des Standard News Detail Template gelöscht.
2. Standard Layout Template mit dem Theme Manager mit einem neuem Namen exportiert und danach mit diesem neuen Namen importiert ( mit den anderen Möglichkeiten gab es komischerweise leider Probleme )
3. Danach im neuen Template, was zwar aktiv sein muß aber nicht als Standard definiert wird aus dem Head Bereich "{title} - {sitename}" und {metadata} gelöscht.
4. Dafür wurde vor
Des weiteren habe ich im Head Bereich folgendes eingetragen als Ersatz für Title und Metadata:
Danach konnte ich unter dem Quellcode die entsprechenden Felder sehen.
Natürlich muß das zusätzliche Extra Feld ( description ) gefüllt werden wenn eine neue News erstellt wird bzw. wenn alte News vorhanden sind, weil sonst permanent als Description in meinem Fall "Weihnachtshäuser | Lichterhäuser | Neuigkeiten auf Weihnachts-Lichter.DE" kommen würde.
Zusammenfassend möchte ich jetzt noch einmal hier auflisten was ich gemacht habe aufgrund der reichhaltigen Tips von Cyberman, NaN und owr_web.
Danke noch einmal auf diesen Wege an alle :)
1. Ich habe ein neues Extra Feld im News Modul definiert mit der Bezeichnung "description". Achtung dies muß auf öffentlich stehen, weil sonst die Daten später nicht angezeigt werden und darum habe ich unter Punkt 5 auch ein Teil des Standard News Detail Template gelöscht.
2. Standard Layout Template mit dem Theme Manager mit einem neuem Namen exportiert und danach mit diesem neuen Namen importiert ( mit den anderen Möglichkeiten gab es komischerweise leider Probleme )
3. Danach im neuen Template, was zwar aktiv sein muß aber nicht als Standard definiert wird aus dem Head Bereich "{title} - {sitename}" und {metadata} gelöscht.
4. Dafür wurde vor
eingesetzt, sowie {content} im Body Bereich durch{content assign='captured_content'}
erstezt.{$captured_content}
Des weiteren habe ich im Head Bereich folgendes eingetragen als Ersatz für Title und Metadata:
5. Danch habe ich ein neues Detail Template für die News erzeugt und den Code folgendermaßen geändert:{if isset($detail_title)}
{$detail_title}
{else}
{title}
{/if}
{if isset($detail_title)}
{else}
{/if}
{if isset($pagedescription)}
{else}
{/if}
{if isset($pagedescription)}
{else}
{/if}
........ usw. usw.
6. Jetzt habe ich die vorhandene Inhaltsseite " News aktuell " ( Inhaltstyp ) unter Optionen umgestellt auf das NICHT Standard Layout Template ( in diesem Fall hieß es "weihnews" ){* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *}
{if isset($entry->canonical)}
{assign var='canonical' value=$entry->canonical}
{/if}
{assign var='detail_title' value=$entry->title}
{assign var='pagedescription' value=$entry->description}
{if $entry->postdate}
{$entry->postdate|cms_date_format}
{/if}
{$entry->title|cms_escape:htmlall}
{if $entry->summary}
{eval var=$entry->summary}
{/if}
{if $entry->category}
{$category_label} {$entry->category}
{/if}
{if $entry->author}
{$author_label} {$entry->author}
{/if}
{eval var=$entry->content}
{if $entry->extra}
{$extra_label} {$entry->extra}
{/if}
{$entry->printlink}
{if $return_url != ""}
{$return_url}{if $category_name != ''} - {$category_link}{/if}
{/if}
Danach konnte ich unter dem Quellcode die entsprechenden Felder sehen.
Natürlich muß das zusätzliche Extra Feld ( description ) gefüllt werden wenn eine neue News erstellt wird bzw. wenn alte News vorhanden sind, weil sonst permanent als Description in meinem Fall "Weihnachtshäuser | Lichterhäuser | Neuigkeiten auf Weihnachts-Lichter.DE" kommen würde.
Last edited by tbtip on Sat Aug 14, 2010 11:42 am, edited 1 time in total.