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

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

Дополнительное поле описания в карточке товара

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

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

Сообщений: 29


« : 24.06.2014, 07:56:59 »

Добрый день!
Есть необходимость добавить дополнительное описание в карточке товара.
Как сделать чтоб в карточке товара выводились два описания?
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9527



« Ответ #1 : 24.06.2014, 08:09:17 »

была где то тема тут, поищите. как раз второе описание и добавляли по моему
Записан
мир
Осваиваюсь на форуме
***

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

Сообщений: 29


« Ответ #2 : 25.06.2014, 07:34:28 »

Вот инструкция по добавлению поля с редактором (подробного описания description1):

1) Добавление формы редактирования в админке:
administrator\components\com_jshopping\views\product_edit\tmpl\description.php
(добавляем строки после аналогичных для существующего поля)
Код:
$description1 = "description1_".$lang->language;
и
Код:
<tr>
<td  class="key">Дополнительное поле:</td>
<td>
<?php
   $editor1 = &JFactory::getEditor();
   print $editor1->display('description1'.$lang->id, 
  $row->$description1 , '100%', '350', '75', '20');
?>
</td>
</tr>
После вставки в админке на странице редактирования товара должно появиться поле, но вводимые в него данные сохраняться не будут, т.к. необходимо добавить еще поля в БД и контроллер, который будет согласовывать их согласовывать.

2) Добавление контроллера для формы в админке:
administrator\components\com_jshopping\controllers\products.php
Код:
$post['description1_'.$lang->language] = JRequest::getVar('description1'.$lang->id,'','post',"string", 2);
3) Добавление полей в базу данных
Заходим с помощью phpMyAdmin в таблицу _jshopping_products базы данных, выбираем вкладку «Структура».
В зависимости от количества языков на сайте добавляем одно или несколько полей с нужным нам названием.

После данных манипуляций наше поле в админке должно успешно сохраняться.
Теперь необходимо вывести его, например, в шаблон карточки товара.

4) Получение значения поля
Открываем файл \components\com_jshopping\tables\product.php, находим функцию getDescription() и добавляем строки:
Код:
$description1 = $lang->get('description1');
и
Код:
$this->description1 = $this->$description1;
5) Вывод поля в шаблон
В шаблон карточки товара \components\com_jshopping\templates\default\product\product_default.php в необходимом месте прописываем:
Код:
<?php print $this->product->description1; ?>

Все готово
Записан
FitMe
Давно я тут
****

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

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



« Ответ #3 : 11.10.2014, 23:44:05 »

Огромное спасибо! очень помогло!
Записан
pavel2950
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #4 : 19.06.2017, 15:09:37 »

Вот инструкция по добавлению поля с редактором (подробного описания description1):

1) Добавление формы редактирования в админке:
administrator\components\com_jshopping\views\product_edit\tmpl\description.php
(добавляем строки после аналогичных для существующего поля)
Код:
$description1 = "description1_".$lang->language;
и
Код:
<tr>
<td  class="key">Дополнительное поле:</td>
<td>
<?php
   $editor1 = &JFactory::getEditor();
   print $editor1->display('description1'.$lang->id, 
  $row->$description1 , '100%', '350', '75', '20');
?>
</td>
</tr>
После вставки в админке на странице редактирования товара должно появиться поле, но вводимые в него данные сохраняться не будут, т.к. необходимо добавить еще поля в БД и контроллер, который будет согласовывать их согласовывать.

2) Добавление контроллера для формы в админке:
administrator\components\com_jshopping\controllers\products.php
Код:
$post['description1_'.$lang->language] = JRequest::getVar('description1'.$lang->id,'','post',"string", 2);
3) Добавление полей в базу данных
Заходим с помощью phpMyAdmin в таблицу _jshopping_products базы данных, выбираем вкладку «Структура».
В зависимости от количества языков на сайте добавляем одно или несколько полей с нужным нам названием.

После данных манипуляций наше поле в админке должно успешно сохраняться.
Теперь необходимо вывести его, например, в шаблон карточки товара.

4) Получение значения поля
Открываем файл \components\com_jshopping\tables\product.php, находим функцию getDescription() и добавляем строки:
Код:
$description1 = $lang->get('description1');
и
Код:
$this->description1 = $this->$description1;
5) Вывод поля в шаблон
В шаблон карточки товара \components\com_jshopping\templates\default\product\product_default.php в необходимом месте прописываем:
Код:
<?php print $this->product->description1; ?>

Все готово

В 3 пункте поместить это надо ? в том файле куча функций.. в которую надо ?
Записан
kit2m2
Живу я здесь
******

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

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



« Ответ #5 : 19.06.2017, 15:44:21 »

А так не проще? - Second Description For Product
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9527



« Ответ #6 : 19.06.2017, 15:58:33 »

не тот экстрим видимо Azn
Записан
kit2m2
Живу я здесь
******

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

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



« Ответ #7 : 19.06.2017, 15:59:47 »

Слишком просто?  laugh
Записан
pavel2950
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #8 : 19.06.2017, 16:03:43 »

А так не проще? - Second Description For Product

Блин, где вы были раньше))
+1 в карму
Записан
pavel2950
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #9 : 19.06.2017, 16:04:44 »

не тот экстрим видимо Azn

Вы права) Просто не наш конек!
Да и полезно было вникнуть.. вдруг понадобится какое то другое поле.. хоть уметь уже буду как его создать.
Записан
pavel2950
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #10 : 19.06.2017, 16:29:41 »

А так не проще? - Second Description For Product

Ну все же, он не совсем удобный так как выводится не в том месте где надо..
Выводится он через токаю строку <?php print $this->_tmp_product_html_after_buttons;?>... где у меня уже есть через нее другие аддоны шопинга выводятся и выходит туда же описание вывелось, а мне надо в другую часть страницы вывести доп. поле.
Если есть варианты как то через этот аддон упр. местом вывода или на прямую обращаться как-то или все же куда вставит код из инструкции выше 2 пункт, в какую функцию там ?
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9527



« Ответ #11 : 19.06.2017, 16:39:19 »

так поправьте в плагине, замените _tmp_product_html_after_buttons хоть вообще на свою переменную, и выводите ее где удобно.
Записан
Страниц: [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