Русскоязычный форум, посвященный фреймворку 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/