ชุมชนถาม.. กรุณาชี้แจงปัญหาเฉพาะของคุณ...
ความคิดเห็นที่เป็นธรรม สิ่งที่อยากให้ช่วยคือ ฉันจะแก้ไขสคริปต์ด้านล่างเพื่อให้ทำงานกับ D9 ได้อย่างไร.
<?php
use Drupal\Core\DrupalKernel;
$autoloader = require_once 'autoload.php';
// This next line is the problem
$request = Request::createFromGlobals();
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod');
$kernel->boot();
require_once 'core/includes/database.inc';
require_once 'core/includes/schema.inc';
$em = $kernel->getContainer()->get('entity_type.manager');
$entity = $em->getStorage('node')->create(array(
'type' => 'article',
'title' => 'Druplicon test',
));
$entity->save();
?>
สิ่งนี้เหมือนกับสคริปต์ D8 ด้านล่างซึ่งใช้งานได้ - ยกเว้นว่าฉันมี:
- ลบการใช้บรรทัดซิมโฟนี;
- แทนที่ฟังก์ชันที่เลิกใช้แล้ว ( ขอบคุณ leymannx )
สคริปต์ล้มเหลวตามที่ระบุไว้ในบรรทัด
$request = คำขอ::createFromGlobals();
ด้วยข้อความ
chrome-error://chromewebdata/:1 ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบสนองด้วยสถานะ 500 ()
VM10:7288 crbug/1173575 ไฟล์โมดูลที่ไม่ใช่ JS เลิกใช้แล้ว
ใครสามารถชี้ให้เห็นได้ว่ามีอะไรผิดปกติกับบรรทัดนี้ใน D9 (ซึ่งฉันเดาว่าเกี่ยวข้องกับการลบคำสั่งการใช้ซิมโฟนี) และถ้ามีโค้ดบรรทัดอื่นที่ D9 ไม่ชอบ
ขอขอบคุณสำหรับความช่วยเหลือเพิ่มเติมเกี่ยวกับเรื่องนี้ และขออภัยสำหรับความสับสนก่อนหน้านี้และสำหรับความไม่เข้าใจของฉันกับ D9
บทความนี้ ให้รหัส D8 เพื่อสร้างเอนทิตีจากสคริปต์ภายนอก ฉันอยู่ในเรือลำเดียวกับคนที่ถามคำถามนี้ - ต้องการแปลงจาก drupal_bootstrap ของ D7
แม้ว่าความต้องการของฉันคือ D9 แต่ฉันคิดว่าฉันจะลองทำให้สคริปต์ D8 ทำงานโดยใช้โพสต์ด้านบน ใบสมัครของเขาอยู่กับนิติบุคคล ฉันต้องการสร้างรายการบทความ
นี่คือรหัสที่ฉันเอามาจากลิงค์ด้านบนซึ่งบอกว่าใช้งานได้ ..
<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once 'autoload.php';
$request = Request::createFromGlobals();
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod');
$kernel->boot();
require_once 'core/includes/database.inc';
require_once 'core/includes/schema.inc';
$em = $kernel->getContainer()->get('entity.manager');
$entity = $em->getStorage('node')->create(array(
'type' => 'article',
'title' => 'Druplicon test',
));
$entity->save();
?>
รหัสนี้ทำงานและสร้างรายการใน node_field_data ตารางแต่บทความเป็น ไม่แสดงเป็นเนื้อหา บนเว็บไซต์
ฉันเข้าใจวิธีการเขียนโค้ด D8/D9 มาก ดังนั้นโปรดอดทนกับฉันหากฉันทำอะไรงี่เง่า!
เมื่อฉันสามารถทำให้มันใช้งานได้ ฉันต้องค้นหาว่าจำเป็นต้องมีการเปลี่ยนแปลงอะไรบ้างสำหรับ D9 - ดังนั้นความช่วยเหลือใด ๆ ที่นี่น่าจะดี ตัวอย่างเช่น รหัส D8 ใช้ซิมโฟนี แต่นั่นไม่ใช่ส่วนหนึ่งของ D9 ฉันเชื่อ
ขอบคุณสำหรับความช่วยเหลือใด ๆ ในเรื่องนี้เพื่อให้สิ่งนี้ใช้งานได้ และเพื่อช่วยฉันเปลี่ยนจากประสบการณ์ D7 เป็น D8/D9!
เสียใจ... รหัสนี้ปรากฏในเนื้อหา - ฉันกำลังดูไซต์ D9 ไม่ใช่การทดสอบ D8 ที่ฉันตั้งค่าไว้ ขอโทษ!
แต่ฉันยังคงต้องการความช่วยเหลือเกี่ยวกับการเปลี่ยนแปลงที่ฉันต้องทำกับสคริปต์นี้เพื่อให้ทำงานภายใต้ D9