Метатеги Drupal 8.7.7

Главные вкладки

Аватар пользователя HolySong HolySong 22 ноября в 14:36

Задание такое, к каждой странице нужно приrрепить Title, Description (в том числе главная страница)

https://www.drupal.org/project/metatag - пробовал установить это расширение, модули любой версии не устанавливаются

В основном вот такая ошибка

The website encountered an unexpected error. Please try again later.</br></br><em class="placeholder">Drupal\Core\Extension\InfoParserException</em>: The &#039;core&#039; or the &#039;core_version_requirement&#039; key must be present in temporary://update-extraction-346237c3/metatag/tests/modules/metatag_test_tag/metatag_test_tag.info.yml in <em class="placeholder">Drupal\Core\Extension\InfoParserDynamic-&gt;parse()</em> (line <em class="placeholder">43</em> of <em class="placeholder">core\lib\Drupal\Core\Extension\InfoParserDynamic.php</em>). <pre class="backtrace">Drupal\Core\Extension\InfoParser-&gt;parse(&#039;temporary://update-extraction-346237c3/metatag/tests/modules/metatag_test_tag/metatag_test_tag.info.yml&#039;) (Line: 696)
update_verify_update_archive(&#039;metatag&#039;, &#039;temporary://metatag-8.x-1.22.zip&#039;, &#039;temporary://update-extraction-346237c3&#039;)
call_user_func_array(&#039;update_verify_update_archive&#039;, Array) (Line: 403)
Drupal\Core\Extension\ModuleHandler-&gt;invokeAll(&#039;verify_update_archive&#039;, Array) (Line: 176)
Drupal\update\Form\UpdateManagerInstall-&gt;submitForm(Array, Object)
call_user_func_array(Array, Array) (Line: 111)
Drupal\Core\Form\FormSubmitter-&gt;executeSubmitHandlers(Array, Object) (Line: 51)
Drupal\Core\Form\FormSubmitter-&gt;doSubmitForm(Array, Object) (Line: 590)
Drupal\Core\Form\FormBuilder-&gt;processForm(&#039;update_manager_install_form&#039;, Array, Object) (Line: 319)
Drupal\Core\Form\FormBuilder-&gt;buildForm(Object, Object) (Line: 93)
Drupal\Core\Controller\FormController-&gt;getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber-&gt;Drupal\Core\EventSubscriber\{closure}() (Line: 582)
Drupal\Core\Render\Renderer-&gt;executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber-&gt;wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber-&gt;Drupal\Core\EventSubscriber\{closure}() (Line: 151)
Symfony\Component\HttpKernel\HttpKernel-&gt;handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel-&gt;handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session-&gt;handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle-&gt;handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache-&gt;pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache-&gt;handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware-&gt;handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware-&gt;handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel-&gt;handle(Object, 1, 1) (Line: 693)
Drupal\Core\DrupalKernel-&gt;handle(Object) (Line: 19)
</pre>

или

metatag-7.x-1.x-dev.zip does not contain any .info.yml files

Прошу помощи, может посоветуете другой модуль

Лучший ответ

Комментарии

Аватар пользователя marassa marassa 22 ноября в 15:09
1

HolySong wrote: Вот такая ошибка

А Вы понимаете что написано в красной рамке?

HolySong wrote: может нужно версия постарше?

А может просто поставить модуль Token, который требуется для работы Metatag?

Аватар пользователя HolySong HolySong 22 ноября в 17:54

Да, примерно даже перевел, не думал что это может быть модуль, думал каких-то полей не хватает.
Я гуглил и много было разных советов...
Я не сильно знаком с Друпал, задания по нему приходят очень редко. Прошу прощение за порой глупые вопросы.
У меня получилось все установить, настроить, изменить Мета для категорий страниц, для главной и самых материалов.
Но есть проблема, есть страницы по типу /client-login и /contact Этих страниц в админке не существует. Они собраны с блоков и форм.
Я имею в виду этих страниц нету в Structure - Views и Content
Вопрос, есть ли возможность изменить мета теги по УРЛ как-то или не пойму как на таких страницах изменить МЕТА

Аватар пользователя ivnish ivnish 22 ноября в 22:32

HolySong wrote: есть страницы по типу /client-login и /contact

/contact - это скорее всего контактная форма, а вот /client-login может быть чем угодно

HolySong wrote: Я имею в виду этих страниц нету в Structure - Views и Content

Значит они есть где-то еще, например в Page Manager или еще где-то

HolySong wrote: Вопрос, есть ли возможность изменить мета теги по УРЛ

Нет

Показывайте сайт, дальше гадать бесполезно

Аватар пользователя HolySong HolySong 22 ноября в 22:58

Сайт существует только локально
1) /contact Да, может контактная форма, в ней и надо изменить Мета данные. Эта форма находится в Structure - Contact forms.
2) Page Manager - нету такого
3) /client-login

это я так понял кто-то модуль писал отдельный.
Тайтл там изменить могу, а вот описание не знаю как добавить

У этой страницы я нашел page--client-login.html.twig, может как-то туда запилить

Аватар пользователя HolySong HolySong 22 ноября в 22:21

Еще говорят что можно написать как-то вот так. Если модуль установлен. У меня модуль установлен, но не работает

<?php
function YOURTHEME_preprocess_html(&$variables) {

  

// Set specific metatag description to Contact page, for avoiding
  // 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" и задать мета теги через УРЛ

Вы можете указать теги для определенного пути (например, /contact) с помощью Context и модуля Metatag Context.
Контекст находится здесь: https://www.drupal.org/project/context
Метатег Контекст является подмодулем Метатега.

Я установил модуль, почитал, вроде как модуль такого вообще не делает как описали.

Вопрос остается открыт, нужно изменить Title и description для страниц: /contact and /client-login

Аватар пользователя HolySong HolySong 22 ноября в 22:37

Да, я понимаю.
Может это модераторам подаст идею какую-то, к примеру использовать другую функцию и с помощью нее по УРЛ сменить Title и Description