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

Discussion in 'JoomShopping' started by denism300, Mar 27, 2019.

  1. Offline

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

    Joined:
    Oct 20, 2016
    Messages:
    20
    Likes Received:
    0
    Gender:
    Male
    Пишу плагин быстрого заказа, в числе прочего функционала есть возможность прикреплять файл покупателю. Файл загружается на сервер и ссылка на него пишется в свободный атрибут товара.
    Происходит это так:
    Код (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 Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Код (PHP):
    1. $freeattributes['File'] = "Загруженный файл".JHtml::link($path_to_file . '/' . strtolower($file['name']), $file['name']);  
    2.    .......
    3. });
     
  4. Offline

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

    Joined:
    Oct 20, 2016
    Messages:
    20
    Likes Received:
    0
    Gender:
    Male
    :) оригинально, но немного не то, что я хотел.
    Имелось в виду, задать имя этому атрибуту, чтобы в заказе выводилось
    А если сделать так, как Вы предложили, то выводится
    90aa0fd29890.jpg
     
  5. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    А почему через админку не назначить имя?
     
  6. Offline

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

    Joined:
    Oct 20, 2016
    Messages:
    20
    Likes Received:
    0
    Gender:
    Male
    в смысле создать новый атрибут с таким именем в админке?
    А как тогда именно ему присваивать значение загруженного файла?
    P.S. первый мой плагин для JS - не разобрался еще во всех тонкостях компонента.
     
  7. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Не получится, там же только селект и радио.
     
  8. Offline

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

    Joined:
    Oct 20, 2016
    Messages:
    20
    Likes Received:
    0
    Gender:
    Male
    т.е., нужно создать новый тип свободного атрибута?
    Затем создать атрибут с этим типом, так?
     
  9. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Так нужно загружать файл, а не просто как ты сейчас прописываешь имя файла. Думаю что создание нового типа независимого атрибута будет лучший вариант .
     
  10. Offline

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

    Joined:
    Oct 20, 2016
    Messages:
    20
    Likes Received:
    0
    Gender:
    Male
    Так я загружаю файл, а в атрибут пишу ссылку на него. Просто тут в пример не написал код загрузки, т.к. к вопросу не относится.
    Ок, мысль примерно понял, буду реализовывать
     
  11. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Как вариант можно проверять на .jpg в значении атрибута, и дописывать имя атрибута в заказе .
     
  12. Offline

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

    Joined:
    Oct 20, 2016
    Messages:
    20
    Likes Received:
    0
    Gender:
    Male
    можно, как вариант.
    только пока что плохо представляю как это реализовать.
     
  13. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Например функция sprintAtributeInCart, /com_jshopping/lib/function.php
    Код (PHP):
    1. $dispatcher->trigger('beforeSprintAtributeInCart', array(&$attr) );
    2.       if($attr->attr = " ") $attr->attr = "Нужное имя";

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

Share This Page

Loading...