Вы можете либо создать плагин, как предложил Йохан, но более быстрый способ — просто поместить файлы в папку /website/lib/Website. Эта папка уже добавлена в автозагрузчик, так что больше ничего делать не нужно.
Например, создайте ObjectExporter.php в папке /website/lib/Website со следующим содержимым:
<?php
namespace Website;
class ObjectExporter
{
public function exportObjects()
{
// Your code
}
}
Затем вы можете либо создать экземпляр этого класса в своем действии контроллера, либо в сценарии CLI. Действия контроллера находятся в папке /website/controllers, и их нужно вызывать через http: http://localhost?controller=default&action=default
Пример: /website/controllers/DefaultController.php
<?php
class DefaultController extends Website_Controller_Action {
public function defaultAction () {
$this->disableViewAutoRender();
$objectExporter = new Website\ObjectExporter();
$objectExporter->exportObjects();
}
}
(Вы также можете добавить весь свой код непосредственно в действие, но это будет немного уродливое решение, это, конечно, зависит)
Но лучший и самый быстрый способ решить такие задачи — использовать сценарии CLI. Мне нравится использовать папку /website/var/cli (вам нужно создать ее вручную, но папка /website/var по умолчанию исключена из .htaccess, что делает ее удобной для таких случаев использования).
Пример: /website/var/cli/export-objects.php
<?php
$workingDirectory = getcwd();
chdir(__DIR__);
include_once("../../../pimcore/cli/startup.php");
chdir($workingDirectory);
$objectExporter = new Website\ObjectExporter();
$objectExporter->exportObjects();
Затем просто запустите его, введя эту команду в командной строке:
php website/var/cli/export-objects.php
Если вы хотите добавить специальные элементы пользовательского интерфейса в серверную часть Pimcore, можно создать расширение, предложенное Йоханом.
Игорь
person
Igor Benko
schedule
26.10.2015