всем привет...
не ругайте, такие темы тут обсуждались но помогите пожалуйста...
тут даже говорили что лучше самому заполнять, но ситуация такая что самому придеться оч долго сидеть и вписывать keywords и description.
ситуация такая...
делаю сайт фильмов (бонально но всеже хочеться сделать)
при создание item прописываю следующие поля:
-название
-год
-режиссер
-актеры
-краткое описание
-сам фильм
а дальше приходиться вписывать в keywords и description название фильма заного, актеров и т.д.
можно было бы чтоб например в description прописывалась автомотически: -название, -год, -режиссер, -актеры...
оч долго сижу в поисках решений но увы. нашел несколько примерных подсказок, но я не сильен в php (
привиду коды которые надыбал и думаю кто дружит с ними, будет не трудно разобраться.
$element = $this->item->getElement('beab45eb-b32a-4766-822d-b3fb72b5b1d4');
$text = $element->render();
$temp= strip_tags($text);
$temp = substr($temp, 0, 300)."...";
$document->setDescription($temp);
где beab45eb-b32a-4766-822d-b3fb72b5b1d4 - идентификатор элемента, он не изменяется по всему каталогу, в пределах одного экземпляра приложения, его можно посмотреть в XML файле типа итема.
P.S. Если типов несколько необходимо также провести проверку, т.к. в разных типах будут и разные идентификаторы элементов.
------------------------------
$document =& JFactory::getDocument();
// add metadata title
$title = '';
if ($this->category->getParams()->get('content.teaser_description'))
{
$title = $this->category->getParams()->get('content.teaser_description').' :: '.$this->application->name;
}
else {
$title = $this->category->name.' :: '.$this->application->name;
}
$document->setTitle($title);
//add metadata keywords
$keywords = '';
if ($this->category->getParams()->get('content.teaser_description') && $this->category->getParams()->get('content.teaser_description')!=$this->category->name)
{
$keywords = $this->category->name.', '.$this->category->getParams()->get('content.teaser_description');
}
else {
$keywords = $this->category->name;
}
$document->setMetadata('keywords', $keywords);
//add metadata description
if ($this->params->get('template.set_description_as_metadesc'))
{
$length = $this->params->get('template.metadesc_charlimit');
$description = $this->category->getText($this->category->description);
if ($length) {
// prepare text
$description = strip_tags($description);
if (JString::strlen($description) > $length) {
$s = JString::strpos($description, ' ', (int)$length);
$description = $s ? JString::substr($description, 0, $s).'...' : $description;
}
}
$document->setDescription($description);
}
-------------------------------
$document =& JFactory::getDocument();
$title = '';
$title = $this->category->name.' :: '.$this->application->name;
$document->setTitle($title);
if ($this->params->get('template.set_description_as_metadesc'))
{
$keywords = '';
if ($this->params->get('template.keywords'))
{$keywords = $this->params->get('template.keywords');
$document->setMetadata('keywords', $keywords);}
$description ='';
if ($this->params->get('template.description'))
{$description = $this->params->get('template.description');
$document->setDescription($description);}
____________________________________
пожалуйста выручайте, может разберетес с кодами и составите то что мне ОЧ ОЧ нужно (
заранее всем спасибо...