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

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

(Решено) Вывод дополнительного поля в списке категорий

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

Репутация: +260/-8
Online Online

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


Skype: renor_


« : 06.11.2015, 13:49:31 »

Доброе время! Помогите пожалуйста, что-то туплю и не могу вывести...

В дальнейшем будут атрибуты как текстовые, так и картинка (поэтому сделал поле редактором), регулирую в админке,
(своеобразный фильтр), т.к. категории будут иметь не только подкатегории, но и каждая категория будет аяксово фильтроваться
(по дефолту показывает все категории, но при нажатии на атрибут-ненужные категории скрываются) по атрибуту на фронте...

Но сначало хочу просто доп поле вывести.

Что я делал:

1. Добавил в administrator/components/com_jshopping/views/category/tmpl/edit.php :

<tr>
<td class="key">
<?php echo _JSHOP_A_FILTER;?>
</td>
<td>
<?php
$editor_a_filter = &JFactory::getEditor();
print $editor_a_filter->display('a_filter'.$lang->id,  
$row->$a_filter , '100%', '350', '75', '20');
?>
</td>
</tr>


2.Добавил там же:

    $a_filter = "a_filter_".$lang->language;

3.Добавил для дефолтных 3-х языков в administrator/components/com_jshopping/lang/###.php :

   define('_JSHOP_A_FILTER', 'Фильтр категории'); - в ru-RU.php
    define('_JSHOP_A_FILTER', 'Filter category'); - в en-GB.php
    define('_JSHOP_A_FILTER', 'Filter Kategorie'); - в de-DE.php

4.Добавил в administrator/components/com_jshopping/controllers/products.php в 139 строку (foreach($languages as $lang){) :

$post['a_filter_'.$lang->language] = JRequest::getVar('a_filter'.$lang->id,'','post',"string", 2);

5. В БД в _jshopping_categories (в структуре) добавил 3 поля:

   a_filter_ru-RU   varchar(255)   utf8_general_ci
   a_filter_en-GB   varchar(255)   utf8_general_ci
   a_filter_de-DE  varchar(255)   utf8_general_ci

   
6. Добавил в components/com_jshopping/tables/category.php находим function getSubCategories

меняем строку запроса(добавляем выделенное) :

$query = "SELECT `".$lang->get('name')."` as name,`".$lang->get('description')."` as description,
`".$lang->get('a_filter')."`as a_filter, `".$lang->get('short_description')."`as short_description, category_id, category_publish, ordering, category_image FROM `#__jshopping_categories`
                   WHERE category_parent_id = '".$this->_db->escape($parentId)."' ".$add_where."
                   ORDER BY ".$orderby." ".$ordering;


Вывод в список категорий:

<?php print $category->a_filter?> в нужном месте.
« Последнее редактирование: 06.11.2015, 16:05:46 от vipiusss » Записан
dmitry_stas
Профи
********

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

Сообщений: 7759



« Ответ #1 : 06.11.2015, 14:04:37 »

\components\com_jshopping\tables\category.php function getSubCategories - добавьте ваше поле в запрос
Записан
vipiusss
Профи
********

Репутация: +260/-8
Online Online

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


Skype: renor_


« Ответ #2 : 06.11.2015, 14:06:33 »

\components\com_jshopping\tables\category.php function getSubCategories - добавьте ваше поле в запрос
так я же добавил:

  $a_filter = $lang->get('a_filter');
  $this->a_filter = $this->$a_filter;

выше написано, или что-то ещё добавить надо?
можно подробнее, банально что именно добавить?!
***
сорри, это не просёк getSubCategories
Записан
vipiusss
Профи
********

Репутация: +260/-8
Online Online

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


Skype: renor_


« Ответ #3 : 06.11.2015, 14:17:35 »

Что-то я вообще там запутался:
Вот оригинал функции, как мнеправильно получить значение поля?
Моим способом будет ошибка (не отобразится просто магазин)

Показать текстовый блок

И эта функция отвечает и за категории и подкатегории все?
Подскажите банальным кодом готовым, если удобно.

И я так понял, моё получение неправильное и/или не туда вставил?
Записан
dmitry_stas
Профи
********

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

Сообщений: 7759



« Ответ #4 : 06.11.2015, 14:30:06 »

Подскажите банальным кодом готовым, если удобно.
не, я так не играю Azn вам надо добавить свое поле в запрос SELECT ....

И я так понял, моё получение неправильное и/или не туда вставил?
понятия не имею, даже не вникал в код. мне хватило фразы
Цитировать
Всё в админке классно записывается, работает и т.д.
Azn поэтому я просто отвечал исключительно на ваш вопрос
Цитировать
Как теперь вывести это в maincategory.php ?
если вы добавили тот код для этого - то да, это неправильно.
Записан
vipiusss
Профи
********

Репутация: +260/-8
Online Online

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


Skype: renor_


« Ответ #5 : 06.11.2015, 14:45:22 »

Разобрался!
Нужно было просто изменить строку, а точнее добавить то, что я выделил.

 $query = "SELECT `".$lang->get('name')."` as name,`".$lang->get('description')."` as description,`".$lang->get('short_description')."`,
`".$lang->get('a_filter')."` as short_description, category_id, category_publish, ordering, category_image FROM `#__jshopping_categories`
                   WHERE category_parent_id = '".$this->_db->escape($parentId)."' ".$add_where."
                   ORDER BY ".$orderby." ".$ordering;

В любом случае спасибо за наводку, где копаться.
Плюсану!

Изменю первый пост, т.к. он неверный в одном пункте (не до кумекал) и если всё получится, что я задумал далее, обязательно выложу.
« Последнее редактирование: 06.11.2015, 14:52:18 от vipiusss » Записан
Taatshi
Support Team
*****

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

Пол: Женский
Сообщений: 4717

Мама, я снова верстал во сне...


« Ответ #6 : 06.11.2015, 19:11:29 »

vipiusss, в редакторе форума есть селект GeSHi - очень рекомендую обратить на него внимание.
Записан
vipiusss
Профи
********

Репутация: +260/-8
Online Online

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


Skype: renor_


« Ответ #7 : 06.11.2015, 19:19:57 »

vipiusss, в редакторе форума есть селект GeSHi - очень рекомендую обратить на него внимание.

так я специально не прятал в код и спойлер не делал(код то маленький), чтоб удобно жирным участки выделить.
Или я не так понял напутствие?
Записан
dmitry_stas
Профи
********

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

Сообщений: 7759



« Ответ #8 : 06.11.2015, 19:34:01 »

Цитировать
я не так понял напутствие?
правильно поняли, очень неудобно читать. это кстати основная из причин по которой я вообще не вникал в код из первого поста. понял что глаза сломаются раньше Azn

Цитировать
чтоб удобно жирным участки выделить
я в таких случаях использую цитирование, там можно выделять жирным
Записан
vipiusss
Профи
********

Репутация: +260/-8
Online Online

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


Skype: renor_


« Ответ #9 : 06.11.2015, 19:35:53 »

Понял, спасибо!
Записан
Страниц: [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