Điểm:2

Tại sao Unpublish nút có lập trình không hoạt động?

lá cờ us

Gần đây, chúng tôi đã nâng cấp lên Drupal 9.3.0 bằng cách sử dụng bố cục tệp Trình soạn thảo. Trang web kết quả đang hoạt động bình thường và hiện đang chạy trong miền xuất bản. Chúng tôi có một bộ tiện ích mà chúng tôi chạy dưới dạng tập lệnh Drush. Một trong những nội dung chưa xuất bản này mà chúng tôi không muốn google và các công cụ tìm kiếm khác tìm thấy -- chưa.

Tôi đã chuyển vào thư mục chứa composer.json -- cao hơn webroot một cấp. tôi đã chạy nhà soạn nhạc yêu cầu drush/drush đã thêm "drush/drush": "^11.0", thành composer.json và cập nhật thư mục nhà cung cấp cho phù hợp. Sau đó, tôi đã tạo một tập lệnh php nhỏ để hủy xuất bản một nút -- có tên là x.php:

<?php
  
sử dụng Drupal\node\Entity\Node;

in "Top\n";
  $node = Nút::load('1881');
  $node->setPublished(FALSE);
  $node->save();
in "Bot\n";

tôi đã chạy nhà cung cấp/drush/drush/drush scr x.php. Tập lệnh chạy không có lỗi và in "Top" và "Bot" như mong đợi. Tuy nhiên, chạy phần khen này Không hủy xuất bản nid = 1881. Tôi chạy lại lệnh với -d switch mang lại cho tôi rất nhiều đầu ra -- nhưng không có thông báo lỗi nào hoạt động. Tôi đã kiểm tra error_log của trang web -- không có gì. tôi đã thêm một var_dump($nút); sau $node = Nút::load('1881'); và có thể thấy nút đang được tải.

Tôi cần hủy xuất bản hơn 700 nút và không muốn thực hiện việc này theo cách thủ công. Bất kỳ đề xuất về cách tiến hành?

leymannx avatar
lá cờ ne
Không biết thiết lập của bạn nhưng có lẽ tốt hơn là triển khai móc cập nhật bài đăng hoặc móc triển khai với quy trình hàng loạt phù hợp. Việc tải và lưu lại 700 nút có thể gặp rủi ro khi hết bộ nhớ.
leymannx avatar
lá cờ ne
Bạn lấy ID nút từ đâu? Bạn chỉ cần có một danh sách của họ hoặc bạn nhận được chúng từ một truy vấn?
Greg Sims avatar
lá cờ us
Tập lệnh thực tế là đệ quy sử dụng id nút được lưu trữ trong các nút. Ví dụ: tất cả các nút lá của trang đích lưu trữ id nút của trang đích.
Điểm:4
lá cờ cn

Trong Drupal 9 setPublished(FALSE) không hoạt động nữa, đối số boolean bị bỏ qua. Điều này đã được chia thành hai phương pháp:

// xuất bản thực thể
$entity->setPublished();

// hủy xuất bản thực thể
$entity->setUnpublished();

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.