Aha, ak pardon, moja prvá odpoveď bola mimo. Miesto Google som v otázke videl validátor. :-/ Toto je samozrejme syntakticky OK, vadí to jedine indexácii. V lengine sa dá do značky v šablóne dať aj dynamický obsah. Napríklad na webe rzp.sk mám v šablóne pre description značku a doĺňam ju z lengine na premennú nastavenú vo view.php. Čiže pri výpise kategórie je to prázdne a v detaile článku tam je nadpis. Dá sa to spraviť aj pre rubriky.
Na iných weboch to mám nejak takto:
Polia $GLOBALS['keywords']['description'] a $GLOBALS['keywords']['keywords'] si plním tiež v lengine, mám tam generovanie menu navigácie kódom z pluginu TopicTree, takto:
function getTree($parent=0, $maxlevel=99, $tree="", $tabs=0, $keywords=array()) {
$result = mysql_query("
SELECT idt,
nazev,
popis,
level,
rodic
FROM ".$GLOBALS["rspredpona"]."topic
WHERE id_predka= ".(int)$parent."
AND
zobrazit = 1
AND
level<".(int)$maxlevel."
ORDER BY
hodnost DESC
;
",$GLOBALS["dbspojeni"]
);
if (mysql_num_rows($result)>0) {
if ($parent==0) {
$tree.= str_repeat("\t", $tabs)."<ul id='nav' class='nav'>\n";
} else {
$tree.= str_repeat("\t", $tabs)."<ul>\n";
}
$pom = 0;
while ($row = mysql_fetch_assoc($result)) {
$li_class = '';
$class = array();
$url = 'r-'.$row['idt'].'-'.VratSEOLink($row['nazev']);
if (isset($GLOBALS['rstema'])) {
$keywords['description'][] = implode(' ', array($row['nazev'], $row['popis']));
$keywords['keywords'][] = $row['popis'];
}
if (TRUE === array_key_exists($row['idt'], (array)$GLOBALS['selected_branches'])) {
$class[] = 'selected';
$GLOBALS['keywords']['description'][] = implode(' ', array($row['nazev'], $row['popis']));
$GLOBALS['keywords']['keywords'][] = $row['popis'];
}
if ($pom === 0) {
$class[] = 'first';
}
if ($row['rodic']==1) {
$class[] = 'sub';
}
if (!empty($class)) {
$li_class = ' class="'.implode($class, ' ').'"';
} else {
$li_class = '';
}
$tree .= getTree(
$row['idt'],
$maxlevel,
str_repeat("\t", $tabs+1).'<li'.$li_class.'><a href="'.$url.'" title="'.
htmlspecialchars(
strip_tags($row['popis']),
ENT_QUOTES
).'"><span'.$span_class.'>'.
htmlspecialchars(
strip_tags($row['nazev']),
ENT_QUOTES).'</span></a>'.(($row['rodic']==1)? '':'</li>')."\n",
$tabs+1,
$keywords
);
$pom++;
}
$tree.= str_repeat("\t", $tabs)."</ul>\n";
}
return $tree;
}
Značky mám robené takto:
$vzhledwebu->NactiFileSablonu('image/layout/g2.sab');
$vzhledwebu->UlozPro('base_url',$GLOBALS['baseadr']);
$vzhledwebu->UlozPro('title', $GLOBALS['wwwname'].implode(' > ', $GLOBALS['selected_branches']));
$vzhledwebu->UlozPro('menu',$menu);
$vzhledwebu->UlozPro('copyright',$copyright);
$vzhledwebu->UlozPro('banner1',Banners_str(1));
$vzhledwebu->UlozPro('banner2',Banners_str(2));
if (isset($GLOBALS['rstema']) && !isset($GLOBALS['cisloclanku'])) {
$vzhledwebu->UlozPro('description',htmlspecialchars(implode(" ", (array)$GLOBALS['keywords']['description'])), ENT_QUOTES);
$vzhledwebu->UlozPro('keywords',htmlspecialchars(implode(", ", (array)$GLOBALS['keywords']['keywords'])), ENT_QUOTES);
} else {
$vzhledwebu->UlozPro('description','defaultný popis, ktorý bude všade mimo detail článku a výpis rubriky');
}
Je to dosť upravené, odkazy na rubriky generujem úplne inak ako štandardné phpRS, no ako ukážka ti to snáď pomôže. Dá sa to spraviť aj oveľa jednoduchšie, ak budeš do description vkladať napríklad názov článku + keywords.