CMS Made Simple Forums
https://forum.cmsmadesimple.org/

Für News individueller Titel und Description erzeugen
https://forum.cmsmadesimple.org/viewtopic.php?f=61&t=46339
Page 1 of 1

Author:  tbtip [ Sun Aug 08, 2010 4:56 am ]
Post subject:  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 )

Author:  cyberman [ Sun Aug 08, 2010 7:09 am ]
Post subject:  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

Code:
{assign var='detail_title'  value=$entry->title}


Und in deinem für die News-Details festgelegten CMSms-Template ergänzt du im html-Header

Code:
{content assign='captured_content'}
{if isset($detail_title)}
    <title>{$detail_title}</title>
{else}
    <title>{title}</title>
{/if}


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

Author:  tbtip [ Sun Aug 08, 2010 1:01 pm ]
Post subject:  Re: Für News individueller Titel und Description erzeugen

Ok, ich geb auf, ich finde nicht die Antwort für
Quote:
geparst

Wie geht dies bzw. wie macht man sowas. Ich bin eben kein Programmierer.

Suche jetzt seid Stunden, entweder bin ich blind oder blöd  >:(

Kann mir dies vielleicht einer erklären. Danke schon mal im voraus

Author:  NaN [ Sun Aug 08, 2010 4:57 pm ]
Post subject:  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.

Author:  cyberman [ Mon Aug 09, 2010 6:31 am ]
Post subject:  Re: Für News individueller Titel und Description erzeugen

tbtip wrote:
Ok, ich geb auf, ich finde nicht die Antwort für
Quote:
geparst

Wie geht dies bzw. wie macht man sowas.


Sorry, manchmal ist man zu sehr im Fachjargon drin  :-\ - Smarty parst die Templates automatisch. Da musst du nix zu tun.

Ansonsten einfach noch mal fragen ...

Author:  cyberman [ Mon Aug 09, 2010 6:43 am ]
Post subject:  Re: Für News individueller Titel und Description erzeugen

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 )


Dann solltest du es vielleicht erst mal testen ... ansonsten müsste man separat was programmieren.

Author:  geraldo [ Wed Aug 11, 2010 4:05 pm ]
Post subject:  Re: Für News individueller Titel und Description erzeugen

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 )

Hallo Wenn Du in Calguys modul SiteMapMadeSimple den nachfolgenden Code einfügst, werden auch die News angezogen. Quelle habe ich mir seinerzeit leider nicht notiert
Code:
{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}

Author:  tbtip [ Wed Aug 11, 2010 6:04 pm ]
Post subject:  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.

Author:  tbtip [ Thu Aug 12, 2010 7:01 pm ]
Post subject:  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

Author:  NaN [ Thu Aug 12, 2010 10:28 pm ]
Post subject:  Re: Für News individueller Titel und Description erzeugen

Wie heißt denn das News Detail-Template?

Author:  tbtip [ Fri Aug 13, 2010 5:31 am ]
Post subject:  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

Author:  NaN [ Fri Aug 13, 2010 6:41 am ]
Post subject:  Re: Für News individueller Titel und Description erzeugen

tbtip wrote:

Das News Detail Template hat die Standard Bezeichnung Sample behalten.



Dann verstehe ich nicht, wieso Du dem News-Modul sagst, es soll ein News-Detail-Template mit Namen "weihnews" verwenden (detailtemplate='weihnews') .
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.

Author:  owr_bgld [ Fri Aug 13, 2010 8:03 am ]
Post subject:  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.

Code:
{assign var='pagedescription'  value=$entry->extra}
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 )

Author:  tbtip [ Sat Aug 14, 2010 4:51 am ]
Post subject:  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.

Author:  tbtip [ Sat Aug 14, 2010 11:35 am ]
Post subject:  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  
Quote:
{content assign='captured_content'}
eingesetzt, sowie {content} im Body Bereich durch
Quote:
{$captured_content}
erstezt.

Des weiteren habe ich im Head Bereich folgendes eingetragen als Ersatz für Title und Metadata:

Quote:
{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.


5. Danch habe ich ein neues Detail Template für die News erzeugt und den Code folgendermaßen geändert:

Quote:
{* 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}


{if $return_url != ""}

{/if}



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" )

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.

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/