Доброго всем дня. Суть вопроса - есть пару модулей (новости и отзывы покупателей). Хочу вывести данные из обоих модулей в хедере в dropdowm меню. Вывести все новости и все отзывы конечно получилось, но задача стоит такая, чтобы количество отображаемых новостей/отзывов, а также количество знаков в новости/отзыве регулировалось из админки (собственно в самих настройках этих модулей). Это реально? И чего прописать в контроллере, чтобы было было счастье? =)
Это реально. Я бы сделал примерно так: 1. Создал бы дополнительное поле в какой-нибудь табличке БД, имеющей отношение к нужному модулю, в котором буду хранить информацию о кол-ве отображаемых новостей/отзывов. 2. Добавил в модели модуля методы, записывающие и читающие из БД эти данные. 3. Добавил бы в представление админки в нужном месте текстовое поле, куда нужно будет вводить необходимое нам кол-во. 4. В контроллере модуля, соответствующего представлению, в котором мы добавили новое поле, в методе, принимающем данные и сохраняющем их, добавил бы операцию сохранения ко-ва новостей в БД (используя ранее созданный метод модели). 5. В том же контроллере в индекс-методе передал бы в наше текстовое поле представления переменную, равную полученному (методом из модели) значению кол-ва новостей в БД (в представлении, разумеется, вывел бы эту переменную в текстовом поле, чтобы было видно, каково нынешнее значение). 6. Получил нужное кол-во из БД с помощью метода модели в контроллере пользовательской части и передал это кол-во представлению. 7. В представлении, там, где в цикле выводятся на страницу новости, добавил бы простую проверку: не превысило ли число уже выведенных новостей число, равное соответствующей переменной. Это делается примерно так: $i=0; foreach($news as $new){ if($i<=$limit){ echo $new; $i++; } } (впринципе, эту же проверку можно реализовать в том месте контроллера, или модели, где формируется массив новостей) 6. Проделал бы всё то же самое для кол-ва знаков в новости/отзыве.
rem kwadriga, пока выкрутился подключением данных модулей в хедер. Ограничения соответственно в контроллере ставятся ручками. Спасибо за идею, буду думать.