Назначить страницу двум родителям / ссылкам Silverstripe - PullRequest
0 голосов
/ 12 января 2012

Я использую Silverstripe для отображения товаров, и иногда один товар относится к двум разным категориям / страницам.Можно ли назначить страницу двум родителям?Если нет, то можно ли использовать ссылку на товар и связать ее с двумя разными категориями / страницами?Это примерно так:

категория / страница: завтрак

подстраницы: ---------------------- хлеб

------------------------------------ хлопья

категория / страница: Обед

подстраницы: ----------------------- хлеб

------------------------------------- макаронные изделия

Можно лисоздайте одну страницу под названием «хлеб» в разделе администрирования Silverstripe, но она будет не более двух страниц (например, завтрак и обед).

Если невозможно назначить одну страницу двум родителям, могу ли я использовать ссылку на страницу хлебадве страницы (завтрак и обед)?Как мне пойти с этим?Любые учебные пособия или модули?

Любая помощь приветствуется.

Спасибо, Сэм:)

1 Ответ

2 голосов
/ 12 января 2012

Если я вас правильно понимаю, вам нужны страницы с N (1 .. *) родителями. Однако у страниц есть только один родитель (кроме корневой страницы). Посмотрите на базовый код: все страницы наследуются от sapphire/core/model/SiteTree.php. В $extensions вы можете увидеть ссылку на sapphire/core/model/Hierarchy.php, где у вас есть has_one, определенный для родительской страницы. В то время как вы могли бы расширить SiteTree, CMS не может справиться с этим, поэтому вам также придется переделывать часть CMS. Я не думаю, что это то, что вы хотите.

Я думаю, что вы ищете DataObjects как страницы. Взгляните на http://www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-1-keeping-it-simple/, который описывает это. Вам нужно будет добавить many_many отношений и все остальное, что вам нужно на ваших "страницах", но вы будете иметь всю необходимую гибкость.

Не стесняйтесь размещать любые дополнительные вопросы.

...