Задание такое, к каждой странице нужно приrрепить Title, Description (в том числе главная страница)
https://www.drupal.org/project/metatag - пробовал установить это расширение, модули любой версии не устанавливаются
В основном вот такая ошибка
update_verify_update_archive('metatag', 'temporary://metatag-8.x-1.22.zip', 'temporary://update-extraction-346237c3')
call_user_func_array('update_verify_update_archive', Array) (Line: 403)
Drupal\Core\Extension\ModuleHandler->invokeAll('verify_update_archive', Array) (Line: 176)
Drupal\update\Form\UpdateManagerInstall->submitForm(Array, Object)
call_user_func_array(Array, Array) (Line: 111)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object) (Line: 51)
Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 590)
Drupal\Core\Form\FormBuilder->processForm('update_manager_install_form', Array, Object) (Line: 319)
Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 93)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 582)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 151)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 693)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
</pre>
или
metatag-7.x-1.x-dev.zip does not contain any .info.yml files
Прошу помощи, может посоветуете другой модуль
Комментарии
Максимальная версия metatag, которая будет работать с 8.7.7 это 8.x-1.16 https://www.drupal.org/project/metatag/releases/8.x-1.16
Вот такая ошибка, может нужно версия постарше?
А Вы понимаете что написано в красной рамке?
А может просто поставить модуль Token, который требуется для работы Metatag?
Да, примерно даже перевел, не думал что это может быть модуль, думал каких-то полей не хватает.
Я гуглил и много было разных советов...
Я не сильно знаком с Друпал, задания по нему приходят очень редко. Прошу прощение за порой глупые вопросы.
У меня получилось все установить, настроить, изменить Мета для категорий страниц, для главной и самых материалов.
Но есть проблема, есть страницы по типу /client-login и /contact Этих страниц в админке не существует. Они собраны с блоков и форм.
Я имею в виду этих страниц нету в Structure - Views и Content
Вопрос, есть ли возможность изменить мета теги по УРЛ как-то или не пойму как на таких страницах изменить МЕТА
/contact - это скорее всего контактная форма, а вот /client-login может быть чем угодно
Значит они есть где-то еще, например в Page Manager или еще где-то
Нет
Показывайте сайт, дальше гадать бесполезно
Сайт существует только локально
1) /contact Да, может контактная форма, в ней и надо изменить Мета данные. Эта форма находится в Structure - Contact forms.
2) Page Manager - нету такого
3) /client-login
это я так понял кто-то модуль писал отдельный.
Тайтл там изменить могу, а вот описание не знаю как добавить
У этой страницы я нашел page--client-login.html.twig, может как-то туда запилить
Еще говорят что можно написать как-то вот так. Если модуль установлен. У меня модуль установлен, но не работает
<?php
// Set specific metatag description to Contact page, for avoiding
function YOURTHEME_preprocess_html(&$variables) {
// Google Webmaster Tools warning about duplicate description with homepage
if (drupal_get_path_alias() == 'contact') {
$metag = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'description',
'content' => 'Your contact page description here.',
),
);
drupal_add_html_head($metag, 'metatag_description_0');
}
}
?>
YOURTHEME - конечно заменил на свою тему
drupal_get_path_alias() - как будто мой Друпал не понимает эту функцию
скорей всего это старая функция, сейчас может используется другая
Инфу взял тут https://www.drupal.org/forum/support/post-installation/2016-05-19/how-do-i-add-meta-tag-data-to-drupals-contact-form-page
А еще там пишут что можно установить модуль "Context" и задать мета теги через УРЛ
Я установил модуль, почитал, вроде как модуль такого вообще не делает как описали.
Вопрос остается открыт, нужно изменить Title и description для страниц: /contact and /client-login
И не будет работать, ведь статья про Drupal 7
Да, я понимаю.
Может это модераторам подаст идею какую-то, к примеру использовать другую функцию и с помощью нее по УРЛ сменить Title и Description
metatag_routes
Спасибо огромное, это то что нужно было мне с самого начала