Перейти к основному содержимому

Статические помощники (Static Helpers)

Pimcore предоставляет ряд статических вспомогательных классов и методов для упрощения разработки:

Pimcore Tool

Класс Pimcore\Tool представляет собой коллекцию общих сервисных методов. Большинство названий методов говорят сами за себя; для ознакомления со всем списком рекомендуется просмотреть исходный код класса.

Наиболее полезные методы:

  • isValidPath()
  • getValidLanguages()
  • getHostname()
  • getHostUrl()
  • classExists()
  • getMail()

Электронная почта (E-Mail)

В Pimcore есть удобная функция, позволяющая любому системному компоненту или плагину использовать предварительно настроенный экземпляр Symfony\Component\Mime\Email, основываясь на конфигурации почты в системных настройках Pimcore.

$mail = Pimcore\Tool::getMail($recipients, $subject);  
// Использование этой конфигурации удобно для плагинов или веб-приложений, так как избавляет разработчика от необходимости вручную настраивать параметры отправки писем.

Сервис элементов (Element Service)

Класс Pimcore\Model\Element\Service содержит сервисные методы для работы с основными элементами Pimcore (документы, ассеты, объекты). Их названия должны быть понятны сами по себе, просто взгляните на исходный код класса.

Особенно полезными могут быть следующие методы:

  • getElementByPath()
  • getSafeCopyName()
  • pathExists()
  • getElementById()
  • getElementType()
  • createFolderByPath()
  • getValidKey()

Также обратите внимание на подклассы Pimcore\Model\Asset\Service, Pimcore\Model\Document\Service и Pimcore\Model\DataObject\Service.

Сервис документов (Document-Service)

Полезным методом обслуживания документов является Pimcore\Model\Document\Service::render().

Его можно использовать для рендеринга страницы вне контекста стандартного представления (View), например, для генерации контента письма.

Пример:
$optionalParams = ['foo' => 'bar', 'hum'=>'bug'];  
$useLayout = true;
$content = Document\Service::render(Document::getById(2), $optionalParams, $useLayout);
echo $content;


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.