Comunitatea intrebat.. Vă rugăm să clarificați problema dvs. specifică...
Comentariu corect. Cu ce aș dori ajutor este cum corectez scriptul de mai jos, astfel încât să funcționeze cu 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();
?>
Acesta este același cu scriptul D8 de mai jos, care funcționează - cu excepția faptului că am:
- a eliminat linia simfonică de utilizare;
- a înlocuit funcția depreciată (mulțumesc leymannx)
Scriptul eșuează așa cum este menționat pe linie
$request = Request::createFromGlobals();
cu mesaje
chrome-error://chromewebdata/:1 Nu s-a putut încărca resursa: serverul a răspuns cu o stare de 500 ()
VM10:7288 crbug/1173575, fișiere de modul non-JS depreciate.
Poate cineva să sublinieze ce este în neregulă cu această linie din D9 (care presupun că se referă la eliminarea declarației de utilizare a simfoniei) și, de asemenea, dacă există alte linii de cod care urmează pe care D9 nu le va plăcea.
Vă mulțumesc pentru orice ajutor suplimentar în acest sens și scuze pentru confuzia anterioară și pentru că nu sunt încă din profunzimea mea cu D9.
Acest articol oferă cod D8 pentru a crea o entitate dintr-un script extern. Sunt în aceeași barcă cu persoana care a pus această întrebare - vreau să convertesc din drupal_bootstrap de la D7.
Deși cerința mea este D9, m-am gândit să încerc să obțin un script D8 să funcționeze folosind postarea de mai sus. Aplicația lui este la o entitate. Vreau să creez intrări în articole.
Iată codul pe care l-am luat de la linkul de mai sus despre care se spune că funcționează..
<?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();
?>
Acest cod rulează și creează o intrare în date_câmp_nod tabel dar articolul este nu sunt listate ca conținut pe site.
Mă simt foarte bine cu codarea D8/D9, așa că vă rog să mă răbdai dacă fac ceva prostesc!
Odată ce pot face acest lucru să funcționeze, trebuie să aflu ce modificări sunt necesare pentru D9 - așa că orice ajutor aici ar fi bun. De exemplu, codul D8 folosește simfonie, dar cred că asta nu face parte din D9.
Vă mulțumim pentru orice ajutor în acest sens pentru ca acest lucru să funcționeze. Și pentru a mă ajuta să-mi înlocuiesc experiența D7 cu D8/D9!
scuze... Acest cod apare în conținut - mă uitam la un site D9, nu la testul D8 pe care l-am configurat. Scuze!
Dar tot aș dori ajutor cu privire la modificările pe care trebuie să le fac acestui script pentru a rula sub D9.