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

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

В шаблоне админки “Редактировать товар” вытащить название производителя

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

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

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


Богиня Иштар и ее пес Пи..ц


« : 30.09.2016, 22:12:40 »

Как в шаблоне админки “Редактировать товар” вытащить название производителя?
Как бы могу вытащить id производителя ... а потом наверно лезть в другую таблицу.?
Записан
dmitry_stas
Профи
********

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

Сообщений: 7750



« Ответ #1 : 30.09.2016, 22:52:29 »

угу. а можно выдрать из селекта производителей регуляркой (тa option, которая selected), без доп. запросов будет
Записан
Cerber
Давно я тут
****

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

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


Богиня Иштар и ее пес Пи..ц


« Ответ #2 : 30.09.2016, 23:00:57 »

Класс Azn я как раз закончил.


Код
<?php  //Manufacturer name//
$db = JFactory::getDBO();
$sql = "SELECT * FROM #__jshopping_manufacturers";
$db->setQuery($sql);
$factories = $db->loadObjectList();
foreach($factories as $factory){
$name_brend = JSFactory::getLang()->get("name");
$brends[$factory->manufacturer_id] = $factory->$name_brend;
}
 
echo $brends[$row->product_manufacturer_id];
?>
 

Селекты потрошить не пробовал, но рискну
Записан
beliyadm
Профи
********

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

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


Севастополь == Россия


« Ответ #3 : 30.09.2016, 23:02:34 »

угу. а можно выдрать из селекта производителей регуляркой (тa option, которая selected), без доп. запросов будет
при редактировании товара один доп запрос будет проще нежели регулярку. Хотя у нас же есть JS - не надо ни запросов ни регулярку, GetElementByID
Записан
dmitry_stas
Профи
********

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

Сообщений: 7750



« Ответ #4 : 30.09.2016, 23:15:30 »

ну нам же надо не весь HTML, а только небольшой фрагмент через регулярку пропустить, который $this->lists['manufacturers']. хотя согласен, там и запрос конечно по id - считай не запрос Azn
Записан
beliyadm
Профи
********

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

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


Севастополь == Россия


« Ответ #5 : 30.09.2016, 23:43:24 »

ну нам же надо не весь HTML, а только небольшой фрагмент через регулярку пропустить
А зачем вообще нам регулярка, когда на том же квери обращение к элементу
Код
$( "#mysel option:selected" ).text();
И подставили этот текст в нужное место DOM, без запросов и регулярок, чисто для отображения.
Записан
dmitry_stas
Профи
********

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

Сообщений: 7750



« Ответ #6 : 30.09.2016, 23:57:58 »

я не против, если нужно только показать, то можно и на клиенте это сделать конечно. просто Cerber не уточнил, для чего именно нужно название, а исходя из того, что оно и так показывается в селекте, то просто предполагаю, что не только показать.
Записан
dmitry_stas
Профи
********

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

Сообщений: 7750



« Ответ #7 : 01.10.2016, 00:00:21 »

Класс Azn я как раз закончил.
только начал Azn зачем выбирать всех производителей, потом устраивать по ним цикл, если нужен 1 с конкретным id ?
Записан
beliyadm
Профи
********

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

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


Севастополь == Россия


« Ответ #8 : 01.10.2016, 00:00:45 »

а исходя из того, что оно и так показывается в селекте, то просто предполагаю, что не только показать.
я не спец в шоппинге, но раз оно в карточке товара уже выделяется активным - значит название производителя есть в общем массиве, выше сделать var_dump входящего и вытащить нужное значение.
Но это я уже углубляюсь (хотя опять же - без регулярок, запросов и JS - все штатно)
Записан
dmitry_stas
Профи
********

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

Сообщений: 7750



« Ответ #9 : 01.10.2016, 00:03:56 »

я не спец в шоппинге, но раз оно в карточке товара уже выделяется активным - значит название производителя есть в общем массиве, выше сделать var_dump входящего и вытащить нужное значение.
не, во вью попадает только уже сформированный селект. отдельно производителя нет.
Код:
        $lists['manufacturers'] = JHTML::_('select.genericlist', $manufs,'product_manufacturer_id','class = "inputbox" size = "1"','manufacturer_id','name',$product->product_manufacturer_id);
        $view->assign('lists', $lists);
Записан
beliyadm
Профи
********

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

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


Севастополь == Россия


« Ответ #10 : 01.10.2016, 00:05:34 »

не, во вью попадает только уже сформированный селект. отдельно производителя нет.
Понятно. Тогда самый простой и быстрый вариант для отображения производителя - пример выше на JS
Записан
Cerber
Давно я тут
****

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

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


Богиня Иштар и ее пес Пи..ц


« Ответ #11 : 01.10.2016, 03:32:13 »

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


Код
<script>document.write($("#product_manufacturer_id option:selected").text());</script>
На простом HTML сайте отрабатывает, а вот в админке нет.
Пробовал по разному, просто сценарий не отрабатывает.

Вариант полегче -- -- -- -- -- -- -- -- --
Код
<?php	//Manufacturer name//
$db = JFactory::getDBO();
$query = "SELECT * FROM #__jshopping_manufacturers WHERE manufacturer_id={$row->product_manufacturer_id}";
$db->setQuery($query);
$factories = $db->loadObjectList();
foreach($factories as $factory){
   $brend_name = JSFactory::getLang()->get("name");
   echo $factory->$brend_name;
}
?>
« Последнее редактирование: 01.10.2016, 14:09:25 от Cerber » Записан
Страниц: [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