Drupal – программное изменение псевдонима URL для некоторых перенесенных терминовPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Drupal – программное изменение псевдонима URL для некоторых перенесенных терминов

Сообщение Anonymous »

Я пытаюсь выполнить SQL-запрос в Drupal, чтобы отредактировать несколько url_aliases терминов таксономии на нескольких сайтах.

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

  // Query to get aliases which contain event-category in alias.
$aliases = db_select('url_alias', 'ua')
->fields('ua', array('alias'))
->condition('alias', '%event-category/%', 'LIKE')
->execute()
->fetchCol();

foreach ($aliases as &$ua) {
// Strip out event-category and replace with category
$new_alias = str_replace("event-category/", "category/", $ua);

// Update url_alias table
$update_db = db_update('url_alias')
->fields(array('alias' => $new_alias))
->condition('alias', '%event-category/%', 'LIKE')
->execute();

}
Каждый раз, когда я запускаю этот код, правильные псевдонимы терминов изменяются, но все они заменяются на первый псевдоним терминов. Пример:
  • категория-события/abc123 => категория/abc123
  • категория-события/def456 => категория/abc123
  • категория-события/ghi789 => категория/abc123
Насколько насколько я могу судить, str_replace работает, когда dpm использует переменную $new_alias.

Подробнее здесь: https://stackoverflow.com/questions/282 ... ated-terms
Ответить

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

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

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

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

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