Вопрос Как добавить название свободному атрибуту в JoomShopping?

Тема в разделе "JoomShopping", создана пользователем denism300, 27.03.2019.

  1. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    Пишу плагин быстрого заказа, в числе прочего функционала есть возможность прикреплять файл покупателю. Файл загружается на сервер и ссылка на него пишется в свободный атрибут товара.
    Происходит это так:
    Код (PHP):
    1. JDispatcher::getInstance()->register('onBeforeAddProductToCart', function(&$cart, &$product_id, &$quantity, &$attr_id, &$freeattributes, &$updateqty, &$errors, &$displayErrorMessage, &$additional_fields, &$usetriggers) {    
    2.     .......    
    3.    $freeattributes['File'] = JHtml::link($path_to_file . '/' . strtolower($file['name']), $file['name']);    
    4.    .......
    5. });

    В БД, в таблицу #_jshopping_order_item это пишется так:
    поле freeattributes
    поле product_freeattributes
    Как в поле product_freeattributes добавить название, чтобы было вида:
     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Код (PHP):
    1. $freeattributes['File'] = "Загруженный файл".JHtml::link($path_to_file . '/' . strtolower($file['name']), $file['name']);  
    2.    .......
    3. });
     
  4. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    :) оригинально, но немного не то, что я хотел.
    Имелось в виду, задать имя этому атрибуту, чтобы в заказе выводилось
    А если сделать так, как Вы предложили, то выводится
    90aa0fd29890.jpg
     
  5. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    А почему через админку не назначить имя?
     
  6. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    в смысле создать новый атрибут с таким именем в админке?
    А как тогда именно ему присваивать значение загруженного файла?
    P.S. первый мой плагин для JS - не разобрался еще во всех тонкостях компонента.
     
  7. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Не получится, там же только селект и радио.
     
  8. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    т.е., нужно создать новый тип свободного атрибута?
    Затем создать атрибут с этим типом, так?
     
  9. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Так нужно загружать файл, а не просто как ты сейчас прописываешь имя файла. Думаю что создание нового типа независимого атрибута будет лучший вариант .
     
  10. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    Так я загружаю файл, а в атрибут пишу ссылку на него. Просто тут в пример не написал код загрузки, т.к. к вопросу не относится.
    Ок, мысль примерно понял, буду реализовывать
     
  11. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Как вариант можно проверять на .jpg в значении атрибута, и дописывать имя атрибута в заказе .
     
  12. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    можно, как вариант.
    только пока что плохо представляю как это реализовать.
     
  13. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Например функция sprintAtributeInCart, /com_jshopping/lib/function.php
    Код (PHP):
    1. $dispatcher->trigger('beforeSprintAtributeInCart', array(&$attr) );
    2.       if($attr->attr = " ") $attr->attr = "Нужное имя";

    И уже в корзине будет нужное имя атрибута.
     
    denism300 нравится это.

Поделиться этой страницей

Загрузка...