У меня проблема с сущностью paras_type: когда я добавляю paras_type в узел с элементами абзаца внутри и устанавливаю для него статус отмены публикации, анонимные пользователи все еще могут его видеть.
Я пытаюсь настроить доступ по-разному:
/**
* Реализует hook_ENTITY_TYPE_access().
* ENTITY_TYPE : тип_абзацев
*/
функция my_module_paragraphs_type_access(
Drupal\Core\Entity\EntityInterface $сущность,
$операция,
\Drupal\Core\Session\AccountInterface $account
) {
эхо '<пред>';
var_dump('my_module_paragraphs_type_access');
var_dump ($ операция);
var_dump ($ учетная запись);
выход();
//Скрыть абзац для анонимных пользователей, если он не опубликован
если ($operation == 'представление'
&& !$entity->isPublished()
&& ($account->isAnonymous() ||
!$account->hasPermission('просмотр неопубликованных абзацев'))
) {
return \Drupal\Core\Access\AccessResult::forbidden();
}
return \Drupal\Core\Access\AccessResult::allowed();
}
Это не работа, var_dump('my_module_paragraphs_type_access');
это никогда не выполняется
Или пользовательский класс, который расширяет ParagraphsTypeAccessControlHandler:
<?php
используйте Drupal\Core\Access\AccessResult;
используйте Drupal\Core\Entity\EntityInterface;
используйте Drupal\Core\Session\AccountInterface;
используйте Drupal\paragraphs\ParagraphsTypeAccessControlHandler;
/*
* Добавить пользовательский доступ к параграфам_типа
*/
класс CustomParagraphsTypeAccessControlHandler расширяет ParagraphsTypeAccessControlHandler {
/**
* {@inheritdoc}
*/
защищенная функция checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
переключатель ($ операция) {
case 'просмотреть неопубликованные абзацы':
если($аккаунт->анонимно())
вернуть AccessResult::forbidden();
сломать;
case 'просмотреть метку':
return AccessResult::allowedIfHasPermission($account, 'доступ к содержимому');
По умолчанию:
return parent::checkAccess($entity, $operation, $account);
}
}
}
но все так же...
Еще план скрыть их от анонимных пользователей?
Я нашел эту проблему:https://www.drupal.org/project/paragraphs/issues/3095959#comment-13363535