Как я могу включить автоматическое создание пути для всех узлов?


В Drupal 7.12 я использую pathauto, cleanurls, транслитерацию, i18n.

Когда я редактировал один узел, я увидел, что "Автоматически генерировать псевдоним URL" не отмечено. Затем я проверил другие узлы и увидел, что для всех типов узлов он стал непроверенным.

Я почти уверен, что это проверялось до прошлой недели.

Последние изменения, которые я сделал: Я обновил модуль Pathauto, установил транслитерацию, установил модуль отладки Cron.

Итак, как я могу снова включить это флажок на странице настроек узла автоматически?

(Конечно, я могу сделать это вручную, отредактировав каждый узел и установив флажок)

Большое вам спасибо за вашу помощь.

Author: trante, 2012-02-18

6 answers

Если у вас установлен Pathauto, он будет генерировать псевдонимы путей для ваших узлов. Он снимает флажок, когда уже есть псевдоним пути, давая вам знать, что он не изменит псевдоним, если вы измените содержимое. Вы можете изменить это поведение с помощью параметра "Действие обновления" здесь: /admin/config/search/path/settings

 6
Author: paul-m, 2012-02-18 18:54:58

Прочитайте страницу документации на Как Pathauto определяет, следует ли устанавливать флажок "Автоматический псевдоним URL" или нет?.

Если флажок снят на существующих узлах, это означает, что текущий псевдоним для узла не совпадает с псевдонимом, который Pathauto "создаст" для узла. Возможно, если бы вы изменили шаблоны для своих узлов, это означало бы, что они "не синхронизированы" с реальными шаблонами, а затем Pathauto по умолчанию снимает флажок.

 3
Author: Dave Reid, 2012-02-20 06:13:32

Если вы хотите принудительно включить его, даже если он не отмечен, просто создайте модуль следующим образом:

<?php
function pathauto_checkbox_node_presave($node){
  global $user;
  if($node->type=='you_content_type'){
    $node->path['pathauto']=1;
  }
}
?>

Если вы хотите для каждого типа, просто удалите условие "если"

 3
Author: GwenM, 2012-09-27 23:26:15

Также вы можете сделать это с помощью:

$node->path['pathauto'] = TRUE;
 1
Author: vp85, 2016-05-10 20:31:32

Некоторые URL-адреса моего содержимого были сгенерированы вручную, некоторые другие - нет. Я хотел гомогенизировать весь контент по типам контента и не хотел делать это по одному

Я определил шаблоны в

admin/config/search/path/patterns

Затем

  delete all alias and did a bulk update

Это действие сбрасывает все содержимое на автоматически созданный псевдоним

 0
Author: Matoeil, 2015-04-09 16:26:28

Вы можете сделать это с помощью произвольного скрипта View также для узла, который уже создан, и автоматическое создание пути для всех узлов в false (т.е. "Создать автоматический псевдоним URL" не проверено.)

enter image description here

Здесь я создал представление для обновления пути от "узел/[идентификатор узла]" до "автоматически сгенерированный URL".

Выполните следующие действия.

  1. Создайте представление, как показано на рисунке выше
  2. Перейдите к просмотру страница.
  3. Выберите опцию из выпадающего списка и узел из списка, для которого вы хотите установить флажок "Автоматически генерировать псевдоним URL", как показано на рисунке ниже. enter image description here

  4. Нажмите на кнопку Выполнить. Теперь на следующем шаге введите код. Затем

$node = node_load($entity->nid);
$node->path['pathauto'] = TRUE;
node_save($entity);
  1. Нажмите на кнопку подтвердить. После завершения перейдите к этому узлу.

  2. Отредактируйте узел и установите флажок "Генерировать автоматический псевдоним URL", теперь он установлен. и путь также создается автоматически enter image description here

 0
Author: 1990rk4, 2020-03-29 11:22:43