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

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Приветствую. Сабж) Возможно ли такое?
« Последнее редактирование: 27.01.2014, 15:07:11 от viteg »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
Возможно ли
смотря что вы вкладываете в понятие "возможно" :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
смотря что вы вкладываете в понятие "возможно" :)
Самое что ни на есть)
Думаю как это сделать.. в шаблоне админки js добавил строку с $lists['vendor'], но видимо нужно и саму функцию где то прописать, чтобы можно было фильтровать по продавцу.. уже с дилетантского переведите сами, я языков не знаю))
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Думаю это многим было бы полезно, т.к. пока искал на форуме решение, не раз натыкался на вопросы о системе поставщиков, и управления товарами этих поставщиков (типа массового изменения цены у всех товаров данного поставщика). Теоретически этого можно добиться и с продавцами, но для этого нужно отфильтровать все товары данного продавца и изменять цены пачкой. Ну, и обозвать продавцов поставщиками)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну если сам селект вывели, то можно попробовать в файле \administrator\components\com_jshopping\controllers\products.php->function display() поменять
Код
        if ($id_vendor_cuser){
            $filter["vendor_id"] = $id_vendor_cuser;
        }
на
Код
        $id_vendor_cuser = 1;
if ($id_vendor_cuser){
            $filter["vendor_id"] = $mainframe->getUserStateFromRequest($context.'vendor_id', 'vendor_id', 0, 'int' );
        }

селект понятное дело должен иметь name=vendor_id
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Попробовал, ничего не изменилось. Сам select не отображается в админке
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Сам select не отображается в админке
читаем еще раз первую фразу в моем ответе, думаем, и проводим работу над ошибками.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Перепроверил. Все вроде верно.
Код
<?php echo _JSHOP_VENDOR.": ".$lists['vendor_id'];?>
Это в /administrator/components/com_jshopping/views/product_list/tmpl/default.php
Код, что Вы дали поставил, перепроверил. Не выходит
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
$lists['vendor_id'] - это что? select вендоров?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
как ни странно - да) остальные выражены именно так. попробовал методом тыка с другими - таки да
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
если $lists['vendor_id'] - это select вендоров, и если в шаблоне есть
Код
<?php echo _JSHOP_VENDOR.": ".$lists['vendor_id'];?>
то тогда почему
Цитировать
Сам select не отображается в админке
?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
видимо потому, что нужно где то прописать сочетание параметров lists и vendor_id, наверное так) я в PHP не силен
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так... еще раз: что такое $lists['vendor_id'] ? что содержит эта переменная? селект вендоров? потому как судя по тому, что вы пишите, она ничего не содержит, и вот это
Цитировать
как ни странно - да)
не соответствует действительности
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
$lists['vendor_id'], сейчас сменил его на $lists['vendors'], генерирует select. генерация самого селекта проходит в \administrator\components\com_jshopping\controllers\products.php .

Насколько я понял генерируется он здесь:
Код
$manuf1 = array();
        $manuf1[0] = new stdClass();
        $manuf1[0]->manufacturer_id = '0';
        $manuf1[0]->name = " - - - ";

        $_manufacturer = $this->getModel('manufacturers');
        $manufs = $_manufacturer->getList();
        $manufs = array_merge($manuf1, $manufs);
        $lists['manufacturers'] = JHTML::_('select.genericlist', $manufs, 'manufacturer_id','onchange="document.adminForm.submit();"', 'manufacturer_id', 'name', $manufacturer_id);

Я по образцу сделал аналогичное для вендоров:
Код
$vend1 = array();
        $vend1[0] = new stdClass();
        $vend1[0]->vendor_id = '0';
        $vend1[0]->name = " - - - ";

$_vendor = $this->getModel('vendors');
        $vends = $_vendor->getList();
        $vends = array_merge($vend1, $vends);
$lists['vendors'] = JHTML::_('select.genericlist', $vends,'vendor_id','onchange="document.adminForm.submit();"', 'vendor_id', 'name', $vendor_id);

Но теперь на странице пропадает вообще все. Где то ошибка, и я не разобрался какая.
Если удаляю строку $vends = $_vendor->getList(); - то все возвращается на свои места (видимо ошибка таки здесь :) ), а вместо фильтра по вендорам - пустой select.

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
1. в модели вендоров нет метода getList(). вы можете посмотреть файл модели \administrator\components\com_jshopping\models\vendors.php чтобы увидеть какие методы и с какими параметрами доступны в этой модели.
2. также обратите внимание, что в таблице #__jshopping_vendors нет ни поля 'vendor_id', ни поля 'name', а вы их указываете при генерации селекта.

поправить эти 2 момента, и в принципе все остальное верно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Намек понял и сделал следующее:
Код
$vend1 = array();
$vend1[0] = new stdClass();
$vend1[0]->id = '0';
$vend1[0]->f_name = " - - - ";

$_vendor = $this->getModel('vendors');
$vends = $_vendor->getAllVendors();
$vends = array_merge($vend1, $vends);
$lists['vendors'] = JHTML::_('select.genericlist', $vends,'id','onchange="document.adminForm.submit();"', 'id', 'f_name', $id);

Теперь вместо name берется first name продавца, за vendor_id - id, т.к. вендорский ID представлен именно так.
Итог: селект генерируется, и даже переключается по продавцам. но... товары не сортируются, и как я понимаю такой функции у вендоров тоже нет, нужно ее где то задать, но я понятия не имею где. И кроме того, не открывается создание/редактирование товара, пустой экран.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
Теперь вместо name берется first name продавца, за vendor_id - id, т.к. вендорский ID представлен именно так.
тут почти все верно сделали. кроме одного момента :)

Цитировать
товары не сортируются
потому что перестарались с заменой vendor_id. у вас теперь селект имеет name=id, а должен иметь name=vendor_id. а также выбранный пункт определяется как $id, а должен как $vendor_id. при формировании селекта первый и последний id верните обратно :)

Цитировать
и как я понимаю такой функции у вендоров тоже нет
функция одна на всех, мы для нее ранее добавили параметр фильтрации
Код
$filter["vendor_id"] = $mainframe->getUserStateFromRequest($context.'vendor_id', 'vendor_id', 0, 'int' );

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

P.S. а, и кстати, при формировании селекта вы должны указать текущий выбранный пункт этого селекта. а я так понимаю вы его нигде не получаете. поэтому надо изменить чуть тот код, что я ранее писал
Код
$id_vendor_cuser = 1;
if ($id_vendor_cuser){
            $vendor_id = $mainframe->getUserStateFromRequest($context.'vendor_id', 'vendor_id', 0, 'int' );
            $filter["vendor_id"] = $vendor_id;
        }
        // и вот тут уже ваш исправленный код формирования селекта
« Последнее редактирование: 26.01.2014, 16:37:00 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Работает, спасибо огромное. При моем незнании PHP - это абсолютная победа, благодаря Вам)
« Последнее редактирование: 27.01.2014, 15:06:00 от viteg »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод списка товаров с учетом значения связанного атрибута

Автор newalex

Ответов: 2
Просмотров: 223
Последний ответ 17.10.2024, 08:51:19
от newalex
Вместо стоимость 0 руб. вывести БЕСПЛАТНО в карточке товаров (Каталоге)

Автор IgorGeneralov

Ответов: 0
Просмотров: 1453
Последний ответ 13.04.2023, 21:06:09
от IgorGeneralov
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 14199
Последний ответ 22.08.2022, 09:54:16
от kit2m2
В списке товаров вывести названия категорий каждого товара

Автор shop-user

Ответов: 5
Просмотров: 2043
Последний ответ 25.01.2022, 06:05:12
от kit2m2
Плагин - Инфоблок товара в списке товаров [Скачать]

Автор kit2m2

Ответов: 13
Просмотров: 2827
Последний ответ 20.10.2021, 14:51:08
от kit2m2