Я пытаюсь получить объект документа или объект страницы из редактируемой ссылки в Pimcore. Согласно документации, у меня есть доступ к следующим методам:
getHref()
Получить путь этой ссылки какSTRING
getText()
Получить текст ссылки какSTRING
getTarget()
Получить цель ссылки какSTRING
getParameters()
Получить параметры запроса ссылки какSTRING
getAnchor()
Получить якорный текст ссылки какSTRING
getTitle()
Получить заголовок ссылки какSTRING
getRel()
Получить относительный текст ссылки какSTRING
getTabindex()
Получить tabindex ссылки какSTRING
getAccessKey()
Получить ключ доступа к ссылке какSTRING
isEmpty()
Является ли поле пустым или нетBOOL
ZEND PHP:
<?php if( !empty( $this->block( "topfive_linkblock" ) ) ) : ?>
<ul class="wrapper">
<?php while( $this->block( "topfive_linkblock" )->loop() ) : ?>
<li><?= $this->link( "topfive_links" ); ?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
Хотя это хорошо подходит для создания якорных ссылок, я хотел бы иметь возможность получить пользовательские свойства для этих страниц, чтобы я мог вытаскивать такие вещи, как изображения для предварительного просмотра и другую информацию.
В WordPress вы можете получать сообщения по их URL-адресам, хотя я не смог найти подобную функцию в Pimcore/Zend.
Дополнительная информация
Если я использую недокументированный метод getDataForResource()
, я могу получить массив с тем, что мне нужно, но я не хочу получать доступ к ключу как массиву, если это не подходящий способ сделать это (в случае архитектуры изменения изменяют поведение в будущем или удаляют этот метод).
<?= print_r( $this->link( "topfive_links" )->getDataForResource(), true ); ?>
Выходы:
Array
(
[text] => Associations
[path] => /customers/associations
[target] =>
[parameters] =>
[anchor] =>
[title] =>
[accesskey] =>
[rel] =>
[tabindex] =>
[class] =>
[attributes] =>
[internal] => 1
[internalId] => 49
[internalType] => document
[type] => internal
)
Число в ключе internalId
— это то, к чему я стремлюсь. Мой вопрос в том, какой подходящий и наиболее эффективный способ это можно сделать? Могу ли я просто безопасно получить доступ к этому значению из этого массива?
Принятое решение:
Решение Игоря работает в обоих отношениях. В итоге мы использовали редактируемый HREF вместо редактируемого LINK.