Форум русской поддержки Joomla!® CMS
06.12.2016, 04:55:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Тотальное переопределение

 (Прочитано 216 раз)
0 Пользователей и 1 Гость смотрят эту тему.
МихаилМ
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 64


« : 03.10.2015, 13:44:30 »

Вот захотелось мне использовать другой фреймворк - materializecss к примеру, хотя теперь их куча этих фреймворков - хочешь bootstrap (3 теперь и 4), хочешь TITON, не в этом суть
переопределение шаблона и макетов страниц, блогов - вещь относительно простая, ну поменять классы у дивов - не особая проблема, логика разбиения на колонки простая в blog.php
но вот копнул глубже и глубоко задумался
вот например вывел я во фронденд добавление статьи, переопределил и переписал все в соответствии со совим фреймворком, т.е. табы мои вот выглядит так
Показать текстовый блок
Все поля рендерятся в соответствии с bootstrap 2, но это полбеды - переопределил renderfield , и стало вроде что то в соответствии с моим фреймворком,
Но сами то поля зарыты гораздо глубже: есть добавление файла картинки для изображения например и в ядре Joomla оно прописано как вызов скрипта modal а триггером становится кнопка, с классом "modal btn"
В большинстве фреймворков, даже в бустрапе 3 класс .modal  закреплен за модальным окном и по умолчанию либо hide либо display:none, если фреймворк прикрепляется через CDN , то само собой файл CSS не поправишь, приходится переписывать для a.modal.btn отдельное свойство, что на мой взгляд немного нелепо - именно так кстати делается в популярном фреймворке для Joomla - T3 для  BS3.
Я пошел дальше немного и все таки залез в \libraries\cms\form\field\media.php  и присвоил там вместо класса modal класс modal-trigger. и теперь в стандарных компонентах выглядит загрузка файла как я хочу, хотя и не совсем так, хотелось бы. Но ведь это хак ядра получается? И при обнове есть шанс что слетит?
А там еще куча всего в ядре - и datepicker и sortable, вот мне нафик не нужно родное джумловской это хозяйство - я например пользоваться isotopejs  люблю для сортировки, и дата мне нравится у материалайза к примеру.
Но как сделать так, чтобы поля были полностью переопределены на мои скрипты и фреймворки я не понимаю.
Плагин писать? Ядро хакать дальше?
Почему вот нельзя было задавать просто типы полей без разметки совсем, а разметку отдельно делать, какждый как хочет, а вот эту хрень не обязательной делать, а лишь одним из шаблонов:
Код:
$html[] = '<a class="modal btn" title="' . JText::_('JLIB_FORM_BUTTON_SELECT'). '" href="'
. ($this->readonly ? ''
: ($this->link ? $this->link
: 'index.php?option=com_media&amp;view=images&amp;tmpl=component&amp;asset=' . $asset . '&amp;author='
. $this->form->getValue($this->authorField)). '&amp;fieldid=' . $this->id . '&amp;folder=' . $folder). '"'
. ' rel="{handler: \'iframe\', size: {x: 800, y: 500}}">';
$html[] = JText::_('JLIB_FORM_BUTTON_SELECT'). '</a><a class="btn hasTooltip" title="'
. JText::_('JLIB_FORM_BUTTON_CLEAR'). '" href="#" onclick="';
$html[] = 'jInsertFieldValue(\'\', \'' . $this->id . '\');';
$html[] = 'return false;';
$html[] = '">';
$html[] = '<span class="icon-remove"></span></a>';
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet