0 Пользователей и 1 Гость просматривают эту тему.
  • 22 Ответов
  • 36054 Просмотров
*

Mitrich

  • Захожу иногда
  • 289
  • 524 / 13
  • Все можно. Но сначала учиться, учиться и учиться.
Возникла необходимость добавить к матриалу кроме заголовка/текста/и  т.п. еще одно текстовое поле.

Для этого нужно сделать следующее
1.Добавить в админке поле ввода
2.Добавить поле в базу данных
3.Научить Joomla записывать данные из поля ввода в поле базы данных
4.Научить Joomla читать данные  этого поля из базы
5.Вывести во фронтэнд

Поехали по порядку

1.  Файл  administrator/components/com_content/admin.content.html.php
Добавляем в него поле для ввода текста. Я добавлял поле ввода под полем  Алиас заголовка:
Получил следующее начиная со строки 607  (в Joomla! 1.0.12 LE 2007)
</tr>
<tr>
 <td>Суперполе: </td>
 <td><input name="superfield" type="text" class="text_area" id="superfield" value="<?php echo $row->superfield; ?>" size="30" maxlength="100" /></td>
 <td>&nbsp;</td>
 <td>&nbsp;</td>
</tr>
</table>


2.  Идем в phpMyAdmin
В таблицу #__content добавляем поле superfield руками
Или выполняем запрос
ALTER TABLE `jos_content` ADD `superfield` MEDIUMTEXT CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL ;

3. Открываем файл /includes/joomla.php
после строки class mosContent extends mosDBTable { (строка 2491 для Joomla! 1.0.12 LE 2007)
Дописываем
var $superfield = null;

4. Файл components/com_content/content.php строка 202
$query = "SELECT a.id, a.title, a.title_alias, a.introtext, a.sectionid  …………….
Дописываем в нее
$query = "SELECT a.id, a.title, a.title_alias, a.introtext, a.superfield, a.sectionid

5. И наконец вывод во фронтэнд
файл
/components/com_content/content.html.php
В том месте где нужен вывод пишем
<?php echo $row->superfield; ?>
 
*

xTMx

  • Захожу иногда
  • 145
  • 4 / 0
большое спасибо
очень полезная инфа!

остается главный вопрос во всем этом

а именно, как создать целый блок дополнительных полей и выводить\скрывать их взависимости от того, в какую категорию добавляется материал .

очевидно, js - выход. а в нем слабоват я определенно (

есть предложения?
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
а именно, как создать целый блок дополнительных полей и выводить\скрывать их взависимости от того, в какую категорию добавляется материал .
ну как вариант, добавить полный набор полей, а скрывать/показывать на уровне шаблона, в Joomla 1.5 с этим никаких проблем нет
*

xTMx

  • Захожу иногда
  • 145
  • 4 / 0
дело в том что имеется разный тип материала

при определенном типе некоторые поля ( их наличие ) абсолютно бессмысленно


я искал инструмент для создания шаблонов материалов

частично это реализовано в к2 ( там  к категории можно было выбрать набор полей дополнительных )


не нашел . Вот и решил вручную тогда эти поля добавить и чтобы в редакторе они появлялись взависимости от типа добавленного материала.

Это реально?

Как аналогичную операцию провести для версии  Joomla 1.5?
*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
Есть одна проблем, когда создаёшь дополнительное поле, то там обрезается HTML код.
я нашёл вот эту тему:
http://joomlaforum.ru/index.php/topic,28912.0.html
но в нашем случае, Joomla сама всё делает, а где я так и не смог найти.
Подскажите где нужно прописать параметр _MOS_ALLOWHTML, что б в поле "superfield" начал отображаться HTML текст?
p.s. Joomla 1.015
« Последнее редактирование: 28.03.2011, 00:19:27 от oleg17 »
*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
Упссс. забыл сказать. у меня Joomla 1.015
Если подскажете и для 1.5 буду благодарен, так как скоро и там буду делать что-то подобное. Но сейчас нужно для 1.0
*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
Как разрешить для 1.5 я нашёл, если кому надо http://forum.joomla.org/viewtopic.php?p=2361208.
А вот для 1.015 не могу.
Кто в курсе напишите пожалуйста решение. или хотя бы функцию где это может быть.
*

oleg17

  • Захожу иногда
  • 50
  • 1 / 0
Сам спрашиваю, сам отвечаю.
Если кому надо, РЕШЕНИЕ: находим в файле includes/joomla.php (в версии 1.012 в administrator/includes/joomla.php
Код
        function check() {
        // filter malicious code
        $ignoreList = array( 'introtext', 'fulltext', 'superfield');

и добавляем название вашего поля.


Еще раз большое спасибо Mitrich, за хороший мануал.
*

dkraev

  • Захожу иногда
  • 147
  • 7 / 0
Здравствуйте. Подниму тему.

Joomla 1.5, требуется дополнительное поле. С его созданием/выводом никаких проблем нет. Но мне требуется записать значение поля не в jos_content, а в специально созданную табличку jos_content_recomm. Как это правильно сделать - понять не могу.

Или может посоветуете, как правильно поступить. Делаю дополнительное условие для вывода материалов, которое будет использоваться в модулях, для сортировки, а так же для формирования отдельной категории новостей.

Планирую сделать по принципу опции "На главной". Т.е. при помощи INNER JOIN выводить новости для которых выставлена опция "Рекомендуем". Как правильнее сделать? Так, как я планирую, либо просто в jos_content создать дополнительное поле, а уже на уровне шаблона делать проверку и выводить только те материалы, которые нужно.

Материалов в базе более 1000. Планируется увеличение до 3000. Если делать проверку на уровне шаблона, это будет сильно грузить БД? Ведь по сути нужно перебрать все материалы. В каком случае нагрузка будет меньшей?

Спасибо.
*

skinny

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
как быть если нада добавить checkbox
интересует почему независимо от того выставлен ли в нём флаг или нет Joomla в любом случае сохраняет его начение в базе.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
как быть если нада добавить checkbox
интересует почему независимо от того выставлен ли в нём флаг или нет Joomla в любом случае сохраняет его начение в базе.
потому что оно задано постоянно.
Код
<input name="name" type="checkbox" onclick="if(this.checked){this.value = 'value'}else{this.value = null}" />
*

skinny

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
интересно это размышления или реально проверенный способ?
потому што я нашёл как сие сделать
и этот способ явно не подходит!
*

Natalia005

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Есть ли на форуме подобный материал только для Joomla 3.0??
*

skinny

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
недумаю что в 3 Joomla чтото изменилось но я реально нашёл способ как это сделать и у меня всё отлично работает :)
*

Виталик

  • Завсегдатай
  • 1236
  • 130 / 0
недумаю что в 3 Joomla чтото изменилось
в ней с помощью плагина можно добавить дополнительные поля в параметры материала, при этом не надо изменять файлы Joomla, а значит можно обновляться
*

skinny

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
в ней с помощью плагина можно добавить дополнительные поля в параметры материала, при этом не надо изменять файлы Joomla, а значит можно обновляться
насколько я знаю 3 Joomla находится в стадии тестирование и разработчики категорически не рекомендуют ставить на ней сайты и дождаться официальной стабильной версии примерно к лету 2013
*

Виталик

  • Завсегдатай
  • 1236
  • 130 / 0
насколько я знаю 3 Joomla находится в стадии тестирование и разработчики категорически не рекомендуют ставить на ней сайты и дождаться официальной стабильной версии примерно к лету 2013
и какое это имеет отношение к вопросу как добавить поле?
*

skinny

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
и какое это имеет отношение к вопросу как добавить поле?
отношение самое прямое - 3 Joomla использовать пока нельзя
только чтоб посмотреть как она работает но не более
*

Natalia005

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
нашла компонент fieldsattach с помощью него можно добавлять любые поля. Но есть вопрос как осуществить фильтрацию по этому полю. К примеру у материала есть дополнительное поле город и мне нужно во фронте при выборе города из выпадающего списка чтобы выводились соответствующие материалы. Может кто подскажет как это можно реализовать?
*

IzrA

  • Захожу иногда
  • 322
  • 27 / 0
в ней с помощью плагина можно добавить дополнительные поля в параметры материала, при этом не надо изменять файлы Joomla, а значит можно обновляться
Подскажите, что за он?
А то пришлось подправить файлик /administrator/components/com_content/forms/article.xml и теперь не знаю куда его положить, чтобы при обновлении все не слетело. Может вы знаете?
Спасибо для меня слишком много. Стакан вина Плюс в репутацию - в самый раз.

Велосипедист — бедствие для экономики. Он не покупает автомобиля и не берет под него кредит. Не покупает бензин. Не пользуется услугами ремонтных мастерских. Не страхует «гражданскую ответственность». Не пользуется платными стоянками. Не страдает от ожирения. Да он еще и здоров, черт возьми! Здоровые люди не нужны для экономики. Они не покупают лекарства. Они не ходят к частным врачам. Они не увеличивают ВВП.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] принудительно заполнить поле tags в плагине

Автор Sergeyy

Ответов: 5
Просмотров: 703
Последний ответ 30.01.2017, 14:40:43
от Sergeyy
Дополнительное поле в модуле

Автор paskal

Ответов: 21
Просмотров: 1683
Последний ответ 27.08.2016, 00:59:55
от robert
Не могу добавить запись в БД

Автор sarmin

Ответов: 2
Просмотров: 822
Последний ответ 23.01.2016, 12:04:32
от vipiusss
JRegistry поле

Автор spirit1086

Ответов: 13
Просмотров: 1355
Последний ответ 22.01.2015, 12:11:12
от spirit1086
Обработка добавления материала Joomla 3

Автор vita1971

Ответов: 2
Просмотров: 642
Последний ответ 17.09.2014, 14:16:14
от saharin88