в настоящее время мы разрабатываем собственный Feedmanager для ShopProducts на основе Zend Framework. В этом менеджере каналов вы можете управлять несколькими каналами, которые будут созданы и отправлены в разные места. Каждый фид имеет n-полей, которые в текущей версии есть только на одном уровне. Теперь мы хотим изменить его на многоуровневую версию, у нас есть родительские поля и дочерние поля.
Мы не хотим изобретать велосипед, поэтому мы хотели бы использовать развитый класс или помощник.
Я нашел класс Ф. Пьетки. https://github.com/fpietka/Zend-Nested-Set я пытался использовать этот помощник в нашей системе, но безуспешно.
Я написал следующую строку, чтобы использовать класс:
$oNested = new NestedSet_Model();
Я получил следующее сообщение об ошибке:
Неустранимая ошибка: вызов неопределенного метода NestedSet_Model::getDbTable() в D:\xampp\htdocs\feedmanager_alpha\application\classes\NestedSet.class.php в строке 75
В readme помощника Peitka's NestedSet говорится, что ZendLibrary должна быть в пути включения.
Я думаю, что сделал это со следующими строками:
define("ROOTPATH", realpath("../"));
define("LIBPATH", ROOTPATH . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR);
// Ensure library/ is on include_path
set_include_path(
implode(PATH_SEPARATOR,
array(
realpath(LIBPATH)
)
)
);
Правильно ли я установил путь включения? В чем может быть проблема в моем случае? Является ли вложенный набор лучшим способом создания родительско-дочерней модели?
NestedSet_Model
не имеет функции/метода с именемgetDbTable()
. Он может найти класс в порядке, это вызов метода, который вызывает ошибки. Вы уверены, что у этого класса есть этот метод? - person Jake N   schedule 30.11.2011