0 Пользователей и 1 Гость просматривают эту тему.
  • 40 Ответов
  • 709 Просмотров
*

sivers

  • Завсегдатай
  • 1568
  • 216 / 0
Код
$this->document->setMetadata('keywords', preg_replace("/\s+/u", ", ", trim($keywords_new)));
Ну хоть сделайте тогда так, что ли... А то запятые по бокам вообще не по делу.
На связи в телеге @sivers
*

dm-krv

  • Завсегдатай
  • 1026
  • 28 / 0
Возможно уже не актуально, вот так пока получилось:
Код
$keywords_new = strip_tags($this->item->tagLayout->render($this->item->tags->itemTags));
$this->document->setMetadata('keywords', preg_replace("/\s+/u", ", ", $keywords_new));
В итоге:
Возможно уже не актуально, вот так пока получилось:
Код
$keywords_new = strip_tags($this->item->tagLayout->render($this->item->tags->itemTags));
$this->document->setMetadata('keywords', preg_replace("/\s+/u", ", ", $keywords_new));
В итоге:

А что по страницам на которых нет меток? Получите пустоту или ошибку, в зависимости от того там вам рендер выдаст. И к слову, почему вы решили метки использовать в качестве ключей, если каждому материалу и так можно вручную ключи прописать в соответствующей вкладке? Не в меню, а именно в самом материале?
*

sertlan

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
1) вы нарушаете логику шаблонизации, которая не должна отвечать за функционал
2) система на этапе рендера материала уже заполнила метатеги, которые заполняются не только из материала, но и из связанного пункта меню, + глобальные из общих настроек системы приписываются, вы же всё это жёстко перезаписываете своим, заставляя систему повторно переформировать head, что уже негативно сказывается на производительности
Тут нельзя не согласиться.
« Последнее редактирование: 03.09.2019, 20:38:04 от sertlan »
*

sertlan

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
И к слову, почему вы решили метки использовать в качестве ключей, если каждому материалу и так можно вручную ключи прописать
Так и прописывал, но создавалось ощущение, что занимаешься мартышкином трудом.
*

sertlan

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
А что по страницам на которых нет меток?
На этот случай:
Код
if ($this->item->metakey){
$this->document->setMetadata('keywords', $this->item->metakey.', '.$app->get('MetaKeys'));
$keywords_new = strip_tags($this->item->tagLayout->render($this->item->tags->itemTags));
$this->document->setMetadata('keywords', preg_replace("/\s+/u", ", ", $keywords_new));
}
elseif ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords'));
}
*

sertlan

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Точнее, вот так:
Код
if ($this->item->metakey)
{
$keywords_new = strip_tags($this->item->tagLayout->render($this->item->tags->itemTags));
$keywords_new = preg_replace("/\s+/u", ", ", $keywords_new);
$this->document->setMetadata('keywords', $keywords_new.', '.$app->get('MetaKeys'));
}
elseif ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords'));
}
« Последнее редактирование: 03.09.2019, 17:18:47 от sertlan »
*

sertlan

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Код
$this->document->setMetadata('keywords', preg_replace("/\s+/u", ", ", trim($keywords_new)));
Ну хоть сделайте тогда так, что ли... А то запятые по бокам вообще не по делу.
Премного благодарен!  ^-^
*

sertlan

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Итоговый код:
Код
if ($this->item->metakey)
{
$keywords_new = strip_tags($this->item->tagLayout->render($this->item->tags->itemTags));
$keywords_new = preg_replace("/\s+/u", ", ", trim($keywords_new));
$this->document->setMetadata('keywords', $keywords_new.', '.$app->get('MetaKeys'));
}
elseif ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords'));
}
*

dron

  • Завсегдатай
  • 1510
  • 15 / 10
Доброй ночи. Скажите плагин так и не заказывали? Странно, что подобного решения нет уже готово, мета-теги ведь крайне важны.

Скажите, этот ваш код, он для уже существующим материалам теги присваивает?
*

Виталик

  • Завсегдатай
  • 1242
  • 130 / 0
этот код выполняется при каждом просмотре материала (то есть существующего)
*

sertlan

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Доброй ночи. Скажите плагин так и не заказывали? Странно, что подобного решения нет уже готово, мета-теги ведь крайне важны.

Скажите, этот ваш код, он для уже существующим материалам теги присваивает?
Плагин заказал, прекрасно работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При сохранении материала в К2 выбрасывает на пустую страницу

Автор Аркадий789

Ответов: 0
Просмотров: 52
Последний ответ 24.02.2021, 14:03:02
от Аркадий789
Изображение выше материала (сломал голову)

Автор Kelman

Ответов: 11
Просмотров: 354
Последний ответ 21.02.2021, 22:08:27
от Kelman
Изображение из материала в списке материалов категории Joomla 3

Автор VadimA

Ответов: 8
Просмотров: 114
Последний ответ 17.02.2021, 19:33:00
от VadimA
Метки или поиск в Joomla что лучше?

Автор kiev

Ответов: 3
Просмотров: 104
Последний ответ 09.02.2021, 23:41:58
от kiev
Не отображает дату публикации материала

Автор kseniyaIvashkina

Ответов: 20
Просмотров: 854
Последний ответ 01.02.2021, 23:08:46
от galind