Folosind Layout Builder, atunci când adăugați un bloc la un aspect care are controale de acces și un utilizator vizitează o pagină fără acces, aspectul este gol.
Cum se împiedică redarea aspectului dacă conținutul său este gol? In timp ce {% if content.foo|render|striptags|trim %}
trucul funcționează pentru șabloanele bloc, nu îmi pot da seama cum să obțin același efect cu șabloanele de aspect.
Rezultatul final este că am un marcaj suplimentar în pagină, care este clasificat și creând umplutură suplimentară și spațiu vertical între regiunile de aspect populate.
Editați | ×:
Am actualizat acum cu un eveniment de care Layout Builder are nevoie:
clasa MyModuleEventSubscriber implementează EventSubscriberInterface {
/**
* Managerul de evenimente de răspuns Layout Builder.
*
* @param SectionComponentBuildRenderArrayEvent $event
* Creați evenimentul de randare.
*/
funcția publică onBuildRender(SectionComponentBuildRenderArrayEvent $event) {
$id = $event->getPlugin()->getPluginDefinition()['id'];
if ($id == 'inline_block' && !$event->inPreview()) {
$build = $event->getBuild();
$build['#create_placeholder'] = FALS;
$event->setBuild($build);
}
}
/**
* {@inheritdoc}
*/
funcție publică statică getSubscribedEvents(): matrice {
$events[LayoutBuilderEvents::SECTION_COMPONENT_BUILD_RENDER_ARRAY] = ['onBuildRender', 110];
returnează $evenimente;
}
}