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


Я создал несколько узлов программно и установил псевдоним пути. Но когда я затем перехожу к редактированию узла, опция "Генерировать автоматический псевдоним URL" все еще включена, хотя мой псевдоним отображается в текстовом поле "Псевдоним URL" внизу, поэтому, следовательно, перезаписывается при сохранении.

Кроме того, при редактировании узла с помощью модуля сущности и entity_metadata_wrapper() псевдоним генерируется снова, и мой псевдоним перезаписывается из-за этой проблемы.

Когда Я загружаю узел с помощью node_load() Я ожидаю увидеть $node->путь['pathauto'], но я этого не делаю, поэтому, похоже, я не могу отключить его таким образом. У кого-нибудь есть какой-нибудь совет?

Author: kiamlaluno, 2013-04-18

1 answers

Решил, что я помогу - мне потребовалось некоторое время, чтобы найти его.

Pathauto не реализует hook_node_load, поэтому вы его там не увидите. В моем случае мне нужно было удалить псевдоним в крючке обновления и убедиться, что флажок снят.

Так вот что я сделал

  $node = node_load(17);
  $node->path['pathauto'] = FALSE;
  node_save($node);
  pathauto_node_delete($node);
  node_load($node->nid);
 3
Author: MrMaksimize, 2013-05-07 22:14:10