Încerc să adaug o sarcină locală aici (/admin/commerce/orders/{order#}). Această sarcină locală ar trebui să conțină o vizualizare care preia ID-ul de utilizator din comanda curentă și afișează istoricul comenzilor utilizatorilor.
Cred că am vizualizarea configurată corect și pot adăuga cu succes o sarcină locală aici (admin/people/%user/orders) adăugând următoarele la links.tasks.yml:
custom_module.people.user_orders:
nume_rută: vizualizare.comenzi.pagina_2
rută_de bază: entity.user.canonical
titlu: „Comenzi”
părinte: entity.user.canonical
greutate: 100
Dacă merg la /admin/people/1/orders în timp ce această sarcină nu este comentată, primesc într-adevăr o listă a comenzilor acestui utilizator, iar fila în sine se află în partea Acasă>Administrare>Oameni a site-ului.
Cu toate acestea, dacă elimin această sarcină locală și o înlocuiesc cu următoarea, primesc o eroare:
custom_module.commerce_order.user_orders:
nume_rută: vizualizare.comenzi.pagina_2
rută_de bază: entity.commerce_order.canonical
titlu: „Comenzi”
părinte: entity.commerce_order.canonical
greutate: 16
clasa: „\Drupal\custom_module\Plugin\Menu\UserOrdersDynamicTab”
UserOrdersDynamicTab.php:
spațiu de nume Drupal\modul_personalizat\Plugin\Meniu;
utilizați Drupal\Core\Menu\LocalTaskDefault;
utilizați Drupal\Core\Routing\RouteMatchInterface;
clasa UserOrdersDynamicTab extinde LocalTaskDefault
{
/**
* {@inheritdoc}
*/
funcția publică getRouteParameters(RouteMatchInterface $route_match)
{
întoarcere [
'user' => \Drupal::routeMatch()->getParameter('commerce_order')->getCustomerId(),
];
}
}
Anularea comentariilor acestei versiuni și comentarea sarcinii locale anterioare duc la o eroare atunci când vizitez /admin/people/1/orders. Pentru a fi clar, încerc să creez o sarcină locală care transmite un parametru unei vizualizări. Mai jos este eroarea pe care o primesc. Vă mulțumim anticipat pentru orice ajutor pe care îl puteți oferi! (Este prima dată când postez o întrebare aici, așa că sunt și eu interesat de corecțiile aduse postării mele.)
Site-ul web a întâmpinat o eroare neașteptată. Vă rugăm să încercați din nou mai târziu.
Eroare: Apelați la un pachet de funcții membre() pe null în Drupal\commerce_shipping\Access\ShipmentCollectionAccessCheck->access() (linia 52 din modules/contrib/commerce_shipping/src/Access/ShipmentCollectionAccessCheck.php).
Drupal\commerce_shipping\Access\ShipmentCollectionAccessCheck->access()
call_user_func_array() (linie: 160)
Drupal\Core\Access\AccessManager->performCheck() (linia: 136)
Drupal\Core\Access\AccessManager->check() (linia: 93)
Drupal\Core\Access\AccessManager->checkNamedRoute() (linia: 327)
Drupal\Core\Menu\LocalTaskManager->getTasksBuild() (linia: 358)
Drupal\Core\Menu\LocalTaskManager->getLocalTasks() (linia: 95)
Drupal\Core\Menu\Plugin\Block\LocalTasksBlock->build() (linia: 171)
Drupal\block\BlockViewBuilder::preRender()
call_user_func_array() (linia: 101)
Drupal\Core\Render\Renderer->doTrustedCallback() (linia: 772)
Drupal\Core\Render\Renderer->doCallback() (linia: 363)
Drupal\Core\Render\Renderer->doRender() (linia: 435)
Drupal\Core\Render\Renderer->doRender() (linia: 201)
Drupal\Core\Render\Renderer->render() (linia: 463)
Drupal\Core\Template\TwigExtension->escapeFilter() (linia: 47)
__TwigTemplate_82330771d2235f13341d75dc3dba6b0551e4091dc4e3e3af75b58a51080d8b70->doDisplay() (Linia: 405)
Twig\Template->displayWithErrorHandling() (linia: 378)
Twig\Template->display() (linia: 390)
Twig\Template->render() (linia: 55)
twig_render_template() (linia: 384)
Drupal\Core\Theme\ThemeManager->render() (linia: 422)
Drupal\Core\Render\Renderer->doRender() (linia: 201)
Drupal\Core\Render\Renderer->render() (linia: 463)
Drupal\Core\Template\TwigExtension->escapeFilter() (linia: 86)
__TwigTemplate_8396bbb6a446449db2b4f79819d5586f73fc0a7bf41d2501e27ba28c058bb7b1->doDisplay() (Linie: 405)
Twig\Template->displayWithErrorHandling() (linia: 378)
Twig\Template->display() (linia: 390)
Twig\Template->render() (linia: 55)
twig_render_template() (linia: 384)
Drupal\Core\Theme\ThemeManager->render() (linia: 422)
Drupal\Core\Render\Renderer->doRender() (linia: 201)
Drupal\Core\Render\Renderer->render() (linia: 162)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Linia: 564)
Drupal\Core\Render\Renderer->executeInRenderContext() (linia: 163)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (linia: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
call_user_func() (linia: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (linia: 163)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (linia: 80)
Symfony\Component\HttpKernel\HttpKernel->handle() (linia: 58)
Drupal\Core\StackMiddleware\Session->handle() (linia: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (linia: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (linia: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (linia: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (linia: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (linia: 23)
Stack\StackedHttpKernel->handle() (linia: 708)
Drupal\Core\DrupalKernel->handle() (linia: 19)