Опять же, у меня возникают проблемы с работой отображений классов в Pimcore 4. На этот раз я хочу расширить класс страницы документа. Раньше это работало без проблем в старых версиях, но сейчас я не могу заставить его работать.
Я скопировал этот пример в classmap.php из classmap.example.php:
сайт / конфигурации / classmap.php:
return [
"Document\\Page" => "Website\\Model\\Document\\Page",
]
сайт / модель / Сайт / Модель / Документ / page.php:
namespace Website\Model;
use Pimcore\Model\Document;
class Page extends Document\Page {
public function getPublicPath() {
return $this->getFullPath();
}
}
Ожидаемый результат заключается в том, что я могу вызвать getPublicPath () для каждого объекта документа \ страницы. Но это не работает. Вместо этого я получаю следующую ошибку:
Call to undefined method getPublicPath in class Pimcore\Model\Document\Page
Как мне заставить это работать?
Ваше объявление пространства имен неверно. Так должно быть:
namespace Website\Model\Document;
Итак, весь класс выглядит так:
<?php
namespace Website\Model\Document;
use Pimcore\Model\Document;
class Page extends Document\Page {
public function getPublicPath() {
return $this->getFullPath();
}
}
Не забудьте очистить кеш после обновления вашего кода!
Других решений пока нет …