Drupal 8 — пользовательский URL-путь для узла с таксономиейPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Drupal 8 — пользовательский URL-путь для узла с таксономией

Сообщение Anonymous »

Я пытаюсь сохранить собственный URL-путь, например: «/PARENT_TERM/TERM/NODE_NAME»

Благодаря Pathauto мне удалось его получить информации, которая мне нужна для создания строки URL-адреса, но я не могу сохранить свой URL-адрес. Я также не уверен, лучше ли сохранить эту информацию в настройках пути URL-адреса или в объекте URL-адреса.

Причина, по которой я не использую Pathauto для создания URL-адрес заключается в том, что он не предоставляет никаких токенов для родительского термина, когда я создаю шаблон для своих узлов.

Вот мой код:

Код: Выделить всё

function HOOK_node_insert($entity) {
_HOOK_node_url($entity, 'insert');
}

function HOOK_node_update($entity) {
_HOOK_node_url($entity, 'update');
}

function _HOOK_node_url($entity, $op){
if($entity->getType() == 'dvn_products'){ //Content_type
$nid = $entity->id();

$entity_alias = \Drupal::service('path.alias_manager')->getAliasByPath('/node/' . $nid); // Get the pathauto alias

$term_id = $entity->field_dvn_product_type_ref->target_id;
$term_object = \Drupal\taxonomy\Entity\Term::load($term_id);
$term_name = $term_object->get('name')->value;
$term_alias = \Drupal::service('path.alias_manager')->getAliasByPath('/taxonomy/term/' . $term_id); // Gets pathauto term alias

$new_url = str_replace("/".strtolower($term_name),$term_alias,$entity_alias); //replaces child term with its url

$entity->path->alias = $new_url; // Saves new url (This is the problem)
}
}
Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/360 ... h-taxonomy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как добавить пользовательский тип поста с пользовательской таксономией в WordPress?
    Anonymous » » в форуме Javascript
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Получение URL-адреса узла в Drupal 7
    Гость » » в форуме Php
    0 Ответы
    24 Просмотры
    Последнее сообщение Гость
  • Почему Хьюго генерирует разные HTML-коды, связанные с таксономией, в разных ОС?
    Anonymous » » в форуме Linux
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • \Drupal::request()->getRequestUri(); не обновляются параметры предварительной обработки Drupal
    Anonymous » » в форуме Php
    0 Ответы
    118 Просмотры
    Последнее сообщение Anonymous
  • Использование Drupal Cache API для кэширования объектов Drupal
    Anonymous » » в форуме Php
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»