Недавно мы обновились до Drupal 9.3.0, используя формат файла Composer. Полученный веб-сайт работает правильно и теперь работает в домене публикации. У нас есть набор утилит, которые мы запускаем как скрипты Drush. Один из них отменяет публикацию контента, который мы не хотим, чтобы Google и другие поисковые системы находили — пока.
Я перешел в каталог, содержащий composer.json — на один уровень выше веб-корня. я побежал композитор требует драш/драш
который добавил "дрош/дрош": "^11.0",
в composer.json и соответствующим образом обновил каталог поставщика. Затем я создал небольшой php-скрипт для отмены публикации узла с именем x.php:
<?php
используйте Drupal\node\Entity\Node;
напечатать "Верх\n";
$node = Node::load('1881');
$node->setPublished(FALSE);
$узел->сохранить();
напечатать "Бот\n";
я побежал поставщик/drush/drush/drush scr x.php
. Скрипт работает без ошибок и выводит "Top" и "Bot", как и ожидалось. Однако запуск этой команды не отменил nid = 1881. Я снова запустил команду с -д
переключатель, который дал мне много выходных данных, но никаких сообщений об ошибках, с которыми можно было бы работать. Я проверил error_log для веб-сайта - ничего. я добавил var_dump ($ узел);
после $node = Node::load('1881');
и может видеть, что узел загружается.
Мне нужно отменить публикацию более 700 узлов, и я не хочу делать это вручную. Любые предложения о том, как действовать?