ใน Drupal 9 ฉันกำลังพยายามใช้ hook_ENTITY_TYPE_view_alter()
เพื่อแก้ไขฟิลด์เนื้อหาของบล็อกแบบกำหนดเอง
อย่างไรก็ตาม ฉันไม่ทราบวิธีการเข้าถึงข้อมูลใน สร้าง $
อาร์เรย์เพื่อเปลี่ยน นี่คือการถ่ายโอนข้อมูลบางส่วนของ สร้าง $
อาร์เรย์ ฉันต้องการแก้ไขลิงก์ HTML ในไฟล์ ร่างกาย สนาม.
อาร์เรย์ (8) {
["#block_content"]=> วัตถุ(Drupal\block_content\Entity\BlockContent)#4946 (30) {
["theme":protected]=> NULL
["values":protected]=> อาร์เรย์(17) {
["id"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "4" }
["revision_id"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "4" }
["type"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(5) "พื้นฐาน" }
["uuid"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(36) "f0c17429-584a-4221-995c-c00f4c41c714" }
["langcode"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(2) "en" }
["revision_user"]=> อาร์เรย์(1) { ["x-default"]=> NULL }
["revision_created"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(10) "1632243859" }
["revision_log"]=> อาร์เรย์(1) { ["x-default"]=> NULL }
["revision_default"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "1" }
["isDefaultRevision"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "1" }
["สถานะ"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "1" }
["info"]=> array(1) { ["x-default"]=> string(11) "Add Content" }
["เปลี่ยน"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(10) "1632457827" }
["default_langcode"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "1" }
["revision_translation_affected"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "1" }
["reusable"]=> อาร์เรย์(1) { ["x-default"]=> สตริง(1) "1" }
["body"]=> อาร์เรย์(1) {
["x-default"]=> อาร์เรย์(1) {
[0]=> อาร์เรย์(3) {
["value"]=> string(652) "[â¦]"
["บทสรุป"]=> สตริง(0) ""
["รูปแบบ"]=> สตริง(11) "sbn_toolbar"
}
}
}
}
}
}
ฉันไม่สามารถหาคำตอบที่ตรงไปตรงมาได้ผ่านการค้นหาของฉัน สิ่งที่ใกล้เคียงที่สุดที่ฉันพยายามทำคือรหัสนี้
$build['content']['#markup'] = Markup::create('ข้อความของคุณที่นี่');
มันล้มเหลวด้วยข้อผิดพลาดนี้
sbn_block_content_view_alter (อาร์เรย์ วัตถุ วัตถุ) (บรรทัด: 539)
Drupal\Core\Extension\ModuleHandler->alter('block_content_view', Array, Object, Object) (บรรทัด: 305)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(อาร์เรย์) (บรรทัด: 29)
Drupal\block_content\BlockContentViewBuilder->viewMultiple (อาร์เรย์, 'เต็ม', NULL) (บรรทัด: 17)
Drupal\block_content\BlockContentViewBuilder->view(Object, 'full') (บรรทัด: 187)
Drupal\block_content\Plugin\Block\BlockContentBlock->build() (บรรทัด: 105)
Drupal\layout_builder\EventSubscriber\BlockComponentRenderArray->onBuildRender(Object, 'section_component.build.render_array', Object) call_user_func(Array, Object, 'section_component.build.render_array', Object) (บรรทัด: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'section_component.build.render_array') (บรรทัด: 90)
Drupal\layout_builder\SectionComponent->toRenderArray(อาร์เรย์, ) (บรรทัด: 86)
Drupal\layout_builder\Section->toRenderArray(อาร์เรย์) (บรรทัด: 317)
Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay->buildSections(Object) (บรรทัด: 276)
Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay->buildMultiple(อาร์เรย์) (บรรทัด: 340)
Drupal\Core\Entity\EntityViewBuilder->buildComponents(อาร์เรย์, อาร์เรย์, อาร์เรย์, 'เต็ม') (บรรทัด: 282)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(อาร์เรย์) (บรรทัด: 239)
Drupal\Core\Entity\EntityViewBuilder->build(อาร์เรย์)
call_user_func_array(อาร์เรย์, อาร์เรย์) (บรรทัด: 101)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks ต้องเป็นเมธอดของคลาสที่ใช้ \Drupal\Core\Security\TrustedCallbackInterface หรือเป็นฟังก์ชันนิรนาม การเรียกกลับคือ %s ดู https://www.drupal.org/node/2966725', 'ข้อยกเว้น', 'Drupal\Core\Render\Element\RenderCallbackInterface') (บรรทัด: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', อาร์เรย์, อาร์เรย์) (บรรทัด: 372)
Drupal\Core\Render\Renderer->doRender(อาร์เรย์, ) (บรรทัด: 200)
Drupal\Core\Render\Renderer->render(Array, ) (บรรทัด: 241)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent{closure}() (บรรทัด: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (บรรทัด: 242)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (บรรทัด: 132)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (บรรทัด: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) call_user_func(Array, Object, 'kernel.view', Object) (บรรทัด: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (บรรทัด: 163)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (บรรทัด: 80)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (บรรทัด: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (บรรทัด: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (บรรทัด: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (บรรทัด: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (บรรทัด: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (บรรทัด: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (บรรทัด: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (บรรทัด: 706)
Drupal\Core\DrupalKernel->ที่จับ (วัตถุ) (บรรทัด: 19)