Как подключить свой html.helper файл

 
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1842
Здравствуйте. Некоторые функции html.helper мне приходится изменять под себя для определенного шаблона, так же мне это необходимо для шаблона который я продаю, как правильно подключить свои функции которые будут заменять стандартные функции не трогая html.helper?
Чем меньше знаешь - тем Больше тупой.
OneMinima шаблон ICMS2
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Код PHP:
  1.  
  2. cmsCore::loadLib('MY_HELPER');
  3.  
Правда это из папки libs подключает.
А в случае с шаблоном наверное только include или require
Редактировалось: 1 раз (Последний: 17 ноября 2015 в 11:34)
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3588
Rossoman:
Код PHP:
  1. cmsCore::loadLib('MY_HELPER');
подключает везде и всюду одинаково, другой вопрос использовать в этом файле названия функций совпадающие с названием функций из файла html.helper не получится. Мне видится использование своего хелпера так:
подключаем в конце файла html.helper через include_once или cmsCore::loadLib('MY_HELPER'); - это позволит хелперу грузится со всеми в куче
и в своём файле пишете свои функции с другими названиями (скажем добавив свой префикс), и потом их применяете в нужных местах.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Loadырь, так ему же в шаблоне нужно это сделать. Шаблон идет в паблик, и вариант прописать в html.хелпере подключение не катит
Loadырь:
подключает везде и всюду одинаково
Так вопрос то не где, а откуда. Опять же в случае с шаблоном хелпер должен находиться я так понимаю внутри шаблона, и вариант с loadLib снова не прокатит
Редактировалось: 2 раз (Последний: 17 ноября 2015 в 11:54)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3588
Rossoman, loadLib подключает файл с путём от корня диска, а не от файла где идёт вызов
Код PHP:
  1. $config->root_path.'system/libs/'.$library.'.php';
Да можно в каждом файле шаблона вызывать свой хелпер, но имхо лучше подключить его или в индексном файле или в конце html.helper добавить его подключение, и сам файл тоже добавить в папку system/libs/ и я думаю не возникнет у пользователей проблема если в архиве с шаблоном будет ещё и системная папка с файлом этого хелпера.
Редактировалось: 2 раз (Последний: 17 ноября 2015 в 12:10)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Loadырь, так я про то и говорю,что loadLib ищет хелпер в папке libs smile
Loadырь:
я думаю не возникнет у пользователей проблема если в архиве с шаблоном будет ещё и системная папка с файлом этого хелпера.
Конечно не возникнет, за исключением того, когда пользователь установит обновление системы, и возможно обновиться файл хелпера... Потом сложности могут возникнуть у ТС, отвечающего на кучу возмущенных писем)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1168
Создать хелпер в папке libs и подключить в main.tpl.php smile
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3588
При обновлении в случае замены файла html.helper достаточно прописать одну строку в конце файла, но ТС всё равно будут приходить письма.
Можно вообще прописать в папке \system\core\my_супер_helper.php в нём класс с кучей статических методов и не думать обо всех обновлениях. Но это тот ещё велосипед.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3588
Evanescence:
Создать хелпер в папке libs и подключить в main.tpl.php
Он и отработает в main.tpl.php, а на всех других страницах, которые рендерятся до main.tpl.php возникнут сложности.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Loadырь:
При обновлении в случае замены файла html.helper достаточно прописать одну строку в конце файла, но ТС всё равно будут приходить письма.
да я то все это знаю) Но ведь пользователям всем не объяснишь этого, и тем более не заставишь всех делать.
А в случае с обновлением вообще критически. Если файл обновился, а владелец сайта загорает на море, или уехал отдыхать в лес), то шаблон весь летит крахом, и сайт ждет возвращения владельца.
Поэтому все же мое мнение, что использование хелпера внутри шаблона в данном случае, более оправдано
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2571
Я поступил так. Создал свой bootstrap.helper, положил в папку libs.
Подключаю через loadLib.
В нем создал свои методы по аналогии, не html_button, а bootstrap_button.

Не вижу проблемы, если в установочном архиве с шаблоном будет идти еще папка с bootstrap.helper.php в папке libs
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3588
Zau4man, и я о том же, только своими словами smile
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Zau4man, Loadырь, так я собственно и не спорю)) Я пытаюсь сказать о том, что подключать его все равно лучше в шаблоне. А где будет лежать сам хелпер, это уже не так важно
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3588
Atid - Gorec, как видите все разработчики пришли к общему консенсусу, так что смело можете пользоваться.
1. Создаёте файл в папке system\libs\ с названием "название_шаболна_html.helper.php".
2. В нём прописываете свои функции с названием отличным от тех что уже есть в html.helper.php например
Zau4man:
не html_button, а bootstrap_button
3. В каждом файле шаблона где будут использоваться вызовы этих функций, в самом начале прописываете
Код PHP:
  1. <?php cmsCore::loadLib('название_шаболна_html.helper');?>
.
4. В коробочку с шаблоном не забудьте приложить этот файл.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.