Я бы рассмотрел встроенную систему Сопутствующие документы . На вкладке свойств документа есть раздел для связанных документов. Функциональность описана здесь:
Свойства документа, связанные документы
Если бы это был большой функционал для вашего сайта, вы могли бы добавить этот раздел в качестве другой вкладки к существующим вкладкам Страница, Дизайн, Форма, Свойства для более удобного доступа. Вам просто нужно изменить область Модули Управление сайтом -> Разработка . Другое замечание: это технически однонаправленные отношения, но вы можете структурировать свои запросы так, чтобы они шли в обоих направлениях:
SELECT *
FROM CMS_Document d
JOIN CMS_Relationship r
ON (d.DocumentID = r.LeftNodeID
OR d.DocumentID = r.RightNodeID)
Where DocumentID = 100
Приведенный выше код соединит таблицу CMS_Document с таблицей CMS_Relationship, чтобы предоставить вам все связанные документы для документа с идентификатором 100.
Если вы возьмете пик в базе данных, структура таблицы для связанных документов будет ОЧЕНЬ проста:
Так что, как предложил МакБеев, я бы создал пользовательские типы документов для продуктов и рецептов. Тогда вы можете связать их, как я изложил выше. Удачи!