Здравствуйте, кто хорошо разбирается в YII2, вопрос к вам,
Возможно ли организовать собственные модели контента
Подробности:
Есть готовый сайт, у него существует некие "модели контента", так вот к этим моделям привязываются дополнительные поля, шаблоны, и куча различных настроек, и когда я создаю категорию например "программы для windows", все настройки применяются из готовой модели, по сути это дает неограниченные возможности для создания каждой категории или странице собственные шаблоны и поля.
В итоге когда я создаю новость в категории статьи для windows у меня к примеру есть 5 полей: TITLE, SEO TITLE, DESCR, FULL DESCR, SOURCE.
Когда я создаю новость в категории программы для windows у меня получается куча других полей: title, soft version, soft build, desc, version os, и тому подобное.
И конечно в шаблонах мы получаем вывод всех этих переменных, для статей одни, для программ другие.
Надеюсь понятно объяснил ))
Интересуюсь можно ли такое организовать в Yii, или нет.
Я бы сначала попытался спроектировать базу данных и от нее плясал бы уже. Так вот навскидку не могу сразу сказать) Тут скорее всего если можете решить задачу на PHP + SQL, то проблем не будет. Это не по Yii2 вопрос
Delgus, так в том то и дело, что если бы просто php то смысла нет, потому как уже есть рабочее решение на готовом движке, и кстати там и базы автоматом создаются под модель контента, для каждой модели своя таблица.
Я думал может есть какое то решение и на фреймворках организовать такое.
criminalist, на Yii2 в хорошем качестве не видел таких вещей. Вам получается Entity-Attribute-Value необходимо, а в Yii2 это все весьма костыльно решается. Но тем не менее для динамического формирования полей есть такое расширение https://github.com/Mirocow/yii2-eav , но сам его не использовал, так что больше вряд ли вам подскажу
Yii - это фреймворк построенный по принципам MCV, так что там можно сделать что угодно по сути. Все что Вам нужно это достаточные знания php, MCV и ООП + пробежаться глазами по документации к yii
Так, а что тут сложного? Например, можно, создать таблицу Attribute c полями:
id, attribute, value, news_id (news_id - ссылка на новость)
1 title значение 1
и т.д. Может, стоить разбить это на несколько таблиц, eсли, я правильно, понял, то, что вы хотите сделать. Единственно, что поля TITLE, SEO TITLE, DESCR, должны быть в общей таблицы.
Сложность не в том что бы создать таблицу с полями, а в том чтобы это все дело создавалось из админки и рулилось, я просто подумал может существует решение готовое, например как разграничение прав в Yii.
Если его нету, тогда и смысле в Yii тоже нет, тогда будут изучать текущий CMS.
Эдуард, Зачем тогда что то организовывать в принципе, у меня есть готовое решение, к сожалению не для всех подходит поэтому и думал перейти для более простой разработки.
criminalist, Yii позволяет реализовать любой функционал. Это каркас, инструмент который предоставляет вам возможности для разработки с нуля. То что вы хотите к разработке отношения не имеет, это просто хотелка которая есть в некоторых CMS. Для таких вещей уже есть Wordpress, Opencart, DLE, Drupal, и т.д. Но там вы получите готовую систему с возможностью делать небольшие доработки, но сделать что-то с нуля будет на них затруднительно.