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

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

[Решено] Как переопределить article.xml?

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

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

Пол: Мужской
Сообщений: 77



« : 28.06.2013, 19:33:54 »

Доброго дня! Joomla 3.1.1

Необходимо переопределить файл
administrator/components/com_content/models/forms/article.xml

кто знает в шаблоне это можно сделать ?
я уже попробовал пару вариантов но они не работают...

/administrator/template/YOUR_ADMIN_TEMPLATE_NAME/html/com_users/models/article.xml
/administrator/template/YOUR_ADMIN_TEMPLATE_NAME/html/com_users/models/forms/article.xml
/administrator/templates/YOUR_ADMIN_TEMPLATE_NAME/html/com_content/article/article.xml
/administrator/templates/YOUR_ADMIN_TEMPLATE_NAME/html/com_content/article/forms/article.xml

еще пробовал такой вариант в шаблоне
$this->form->reset( true );
$this->form->loadFile( dirname(__FILE__).DS."article.xml");

тогда форма с модифицированными полями загружается, но значения не сохраняются в базе.

Заранее СПАСИБО. Всем кто напишет.
« Последнее редактирование: 12.07.2013, 10:01:51 от b2z » Записан
NightGuard
Практически профи
*******

Репутация: +378/-7
Offline Offline

Пол: Мужской
Сообщений: 3035


вжжж-вжжж


« Ответ #1 : 28.06.2013, 19:35:19 »

В Google - Joomla 2.5 альтернативный макет
Записан
Fedor Vlasenko
Профи
********

Репутация: +699/-5
Offline Offline

Пол: Мужской
Сообщений: 3828


Все начинается с Value


« Ответ #2 : 28.06.2013, 19:44:10 »

Плагин на событие onContentPrepareForm
Записан
DarkMaster13
Осваиваюсь на форуме
***

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

Пол: Мужской
Сообщений: 77



« Ответ #3 : 28.06.2013, 19:56:30 »

В Google - Joomla 2.5 альтернативный макет

Если вы такое заметили в поиске, незатруднит поделится ссылкой ?
Записан
DarkMaster13
Осваиваюсь на форуме
***

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

Пол: Мужской
Сообщений: 77



« Ответ #4 : 28.06.2013, 19:58:04 »

Плагин на событие onContentPrepareForm

Можно попробывать спасибо.

Вот я еще вариант переопределений нашел
http://community.joomla.org/blogs/community/521-did-you-know-overrides-are-not-just-for-html.html
http://docs.joomla.org/Adding_custom_fields_to_the_article_component#onContentPrepareForm
может кому пригодится
« Последнее редактирование: 01.07.2013, 16:43:56 от DarkMaster13 » Записан
Arkadiy
Группа развития
*****

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

Пол: Мужской
Сообщений: 5392


Крепитесь, други.


« Ответ #5 : 28.06.2013, 20:04:40 »

А зачем вам форму переопределять?
Записан
DarkMaster13
Осваиваюсь на форуме
***

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

Пол: Мужской
Сообщений: 77



« Ответ #6 : 28.06.2013, 20:10:14 »

А зачем вам форму переопределять?

Добавляю n-е количество полей к форме редактирования в админке.
При этом файлы самой Joomla редактировать нельзя.
Такие условия у задачи.
Изменения должны быть легко отменены самим пользователем, путем отключения шаблона/плагина

Да забыл самое главное
Если поля не указаны в article.xml они не хотят сохранятся в БД.
т.е. если я просто добавлю поля в шаблоне
administrator/templates/YOUR_ADMIN_TEMPLATE_NAME/html/com_content/article/edit.php
то они не сохраняются в БД. (поля я добавляю как jform[DB_FIELD_NAME])
« Последнее редактирование: 08.07.2013, 22:45:11 от DarkMaster13 » Записан
smart
Администратор
*******

Репутация: +1309/-14
Offline Offline

Пол: Мужской
Сообщений: 6850


снова дома...


« Ответ #7 : 02.07.2013, 04:35:19 »

еще пробовал такой вариант в шаблоне
$this->form->reset( true );
$this->form->loadFile( dirname(__FILE__).DS."article.xml");

тогда форма с модифицированными полями загружается, но значения не сохраняются в базе.
Правильное направление, только надо это делать в плагине на событии onContentPrepareForm, а данные укладывать или в отдельную таблицу на событии onContentAfterSave, а для редактирования - вытаскивать их на событии onContentPrepareData.

С другой стороны, учитывая тот факт, что в 3.0 в наследниках JTable поля явно перечислять не нужно, то если добавить поле в таблицу jos_content, то это поле будет без проблем сохраняться штатными средствами. Так что по идее достаточно добавление нужных полей в БД и небольшой плагин с событием onContentPrepareForm который подгрузит доп. форму. В принципе добавление полей в таблицу #__content можно добавить прямо в установочный скрипт для плагина - установили - поля появились, удалили плагин - убрали поля.

Единственное ограничение - поля динамически в форму можно добавить только в административной панели - на сайте поля не в цикле выводятся, а по-штучно и там без переопределения макета никак. Да, для того, чтобы в админке поля сразу появились, когда в своей форме объявляете поля, укажите у них fieldset именем уже существующего из article.xml, например "attribs". Тогда ваши поля сразу появятся на соотв. вкладке.
Записан
Arkadiy
Группа развития
*****

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

Пол: Мужской
Сообщений: 5392


Крепитесь, други.


« Ответ #8 : 03.07.2013, 11:06:49 »

Или можно воспользоваться моим MiniCCK, там все уже работает. Правда с хаком ядра.
Записан
DarkMaster13
Осваиваюсь на форуме
***

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

Пол: Мужской
Сообщений: 77



« Ответ #9 : 11.07.2013, 14:24:26 »

Спасибо smart, совет с fieldset очень помог, так как форма для статьи генерируется не полностью автоматически.
Записан
DarkMaster13
Осваиваюсь на форуме
***

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

Пол: Мужской
Сообщений: 77



« Ответ #10 : 11.07.2013, 14:25:08 »

Или можно воспользоваться моим MiniCCK, там все уже работает. Правда с хаком ядра.
Спасибо, но хак ядра не допустим по условию Т.З.
Поэтому и возникла проблема.

Добавлю файл.
Предупреждаю это просто рабочий пример. Не претендует на универсальность.
Поставляется "как есть" Azn

* codercvcck.zip (5.13 Кб - загружено 212 раз.)
« Последнее редактирование: 11.07.2013, 14:32:35 от DarkMaster13 » Записан
smart
Администратор
*******

Репутация: +1309/-14
Offline Offline

Пол: Мужской
Сообщений: 6850


снова дома...


« Ответ #11 : 11.07.2013, 14:43:05 »

Спасибо smart, совет с fieldset очень помог, так как форма для статьи генерируется не полностью автоматически.
Угу, а вот если бы они на frontend формировали бы хотя бы так же, как в backend, было бы намного интереснее. Удивляет меня столь разный подход.

Предупреждаю это просто рабочий пример. Не претендует на универсальность.
Спасибо за публикацию решения.
Записан
Страниц: [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