Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
View Helper http://forum.kohanaframework.su/viewtopic.php?f=31&t=670 |
Страница 1 из 2 |
Автор: | MAD_B [ 07 июн 2013, 19:35 ] |
Заголовок сообщения: | View Helper |
В ZendFramework есть такая штука как помощник вида. Для подключения дополнительных .js и .css файлов, например. В kohana есть что-нибудь подобное? Т.е. хотелось бы при вызове определенного контроллера, например Контроллера для формирования блока Опроса, подключать стили и js-скрипты (в head) относящиеся к нему. Как это разумней сделать? |
Автор: | slider23 [ 07 июн 2013, 21:57 ] |
Заголовок сообщения: | Re: View Helper |
Использовать один из asset-менеджеров - https://github.com/search?q=kohana-assets , https://github.com/search?q=kohana-static . Или писать свой. Дефолтного почему-то тут действительно нет. |
Автор: | WinterSilence [ 08 июн 2013, 09:11 ] |
Заголовок сообщения: | Re: View Helper |
да он и не нужен особенно,я из конфигов подхватываю массивы с js\css списками файлов, сливаю в View::$_global_data и в основном виде вывожу циклом через HTML::script и HTML::style |
Автор: | Sergey [ 08 июн 2013, 16:35 ] |
Заголовок сообщения: | Re: View Helper |
WinterSilence писал(а): да он и не нужен особенно,я из конфигов подхватываю массивы с js\css списками файлов, сливаю в View::$_global_data и в основном виде вывожу циклом через HTML::script и HTML::style А как ты поступаешь с зависимостями? о_О |
Автор: | WinterSilence [ 08 июн 2013, 16:47 ] |
Заголовок сообщения: | Re: View Helper |
что подразумевается под зависимостями? |
Автор: | Sergey [ 08 июн 2013, 17:00 ] |
Заголовок сообщения: | Re: View Helper |
Например bootstrap.js зависит от jquery.js. Соответственно подключать эти скрипты нужно в особом порядке. А если в каком то контролёре больше не нужен bootstrap.js, соответственно зависимость от jquery.js тоже пропала, обе библиотеки больше не нужны. Зачем тогда в этом конкретном случае подключать jquery.js? В Gleez за всем этим следит Gleez Asets |
Автор: | WinterSilence [ 08 июн 2013, 17:23 ] |
Заголовок сообщения: | Re: View Helper |
Усложнять любой проект можно до бесконечности, реальность же такова, что особой потребности в зависимостях нет, только в порядке подключения. Смысла опционально подключать базовые библиотеки особо нет, по крайней мере в больших проектах. jquery.js давно стал дефакто применяться, вообще сейчас идет речь о включении его на уровне браузеров. |
Автор: | Sergey [ 08 июн 2013, 18:06 ] |
Заголовок сообщения: | Re: View Helper |
Я привел лишь пример bootstrap.js/jquery.js, подобных примеров, с другими библиотеками можно привести много. Будет ли встроен jquery.js или не будет, это отдельный разговор и когда это станет стандартом де факто, мы будем использовать совершенно другие технологии. И потом, не забывай о зависимостях css, они хоть и не явные, но так же могут подпортить кровь. Сейчас речь идёт не о конкретном файлике, а о зависимостях в целом. Ну представь, что после обработки зависимостей и сортировке списка ресурсов которые нужно подключить, ты избавишься от того же пол мегабайта. Разве это плохо? Разве это называется усложнять проект? А такие ситуации не редки. Нет, я не спорю, если твои сайты на Kohana представляют из себя 5-10 страниц, на которых ты используешь скажем 5 js библиотек и 3-4 css, то наверное тут Assets и не нужен. Если использование Assets Manager для CSS и JS это называется "Усложнять проект", то что тогда есть использование массива со всеми HTML::script и HTML::style на всех страницах? ![]() |
Автор: | WinterSilence [ 08 июн 2013, 19:35 ] |
Заголовок сообщения: | Re: View Helper |
Я забыл объяснить что данные кешируются т.ч. каждый раз выполнять код не требуется. Ваш вариант хорош для больших сайтов в остальных же не однозначен т.к. он требует доп. ресурсов хоста и как я понимаю все данные о файлах хранятся в коде контроллеров т.ч. верстальщику\сеошнику уже не справится. |
Автор: | Sergey [ 08 июн 2013, 19:57 ] |
Заголовок сообщения: | Re: View Helper |
Да, подобный менеджер с лёгкостью можно использовать для графического построения тем оформления. Понадобится перетащить объекты на канву страницы, задать поведение для событий объекта и выбрать свойства (цвет, фон, размер, расположение, свойство резиновости и пр.). В подобной ситуации не думаю, что подобный менеджер как то усложнит проект в целом или как то усложнит процесс использования темы оформления. Например Думаю, сеошнику или верстальщику нужно заниматься своим делом, а не редактировать контролёры CMS. Верстальщик, к примеру, готовит HTML макет, с использованием рекомендаций сеошника, и может быть говорит программисту о каких то особенностях проекта, если они есть. Программист создаёт тему оформления. В теме оформления вообще не слова об Assets - в пару местах проекта темы оформления пару строк. Как то так - каждый занимается своим делом. Конечно, когда ты и швец, и жнец, и на дуде игрец - ты сам контролируешь ресурсы, распределяя их по проекту в соответствии с требованиями. Сам следишь, чтоб не подключилось лишнего 100-200 кБ js-кода, там где это не нужно, сам следишь за тем, чтоб css например подключались в правильной последовательности, не перекрывая друг друга, затем, с помощью какого нибудь своего метода или сторонней библиотеки, ужимаешь все эти свои JS и CSS (типа bootstrap.js -> bootstrap.min.js), кешируешь и отдаёшь один_файл.gz. А можно не переморачиваться и просто использовать Assets Manager, ели конечно ты не считаешь, что это называется "Усложнять проект" Да и потом, каким бы ни было использование Assets Manager, - простая сортировка и удаление не нужного, упаковка или что-то другое, - в любом случае, ты его один раз написал и забыл. Во всех последующих проектах ты его просто используешь, а не программируешь новый способ. Может быть раз в пол-года, год, добавляя свою новую фичу, исправляя внезапный баг. |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |