Последние темы


shkOptions и его плейсхолдер [[+selected]]

  • Здравствуйте, скажите как правильно использовать post_name, чтобы нужное мне значение было помечено selected через аналогичный плейсхолдер [[+selected]]?

    Из документации: post_name - Названия полей в форме. Например вывод при оформлении заказа. Нужно для работы плейсхолдера [[+selected]] - выбранное значение.

  • В общем так и не разобрался я как это делается и пришлось переписать снипет.

    Заменил там строку:

    $conf['selected'] = ( isset( $post_name[$index] ) && isset( $_POST[ $post_name[$index] ] ) && $_POST[ $post_name[$index] ] == $conf['value'] ? 'selected="selected"' : '' );
    

    на

    if (isset( $selected )) {
      $conf['selected'] = ( isset( $selected ) && ($selected == $conf['value']) ? 'selected="selected"' : '' );
    } else {
      $conf['selected'] = ( isset( $post_name[$index] ) && isset( $_POST[ $post_name[$index] ] ) && $_POST[ $post_name[$index] ] == $conf['value'] ? 'selected="selected"' : '' );
    }
    

    И теперь если в вызове сниппета есть параметр &selected то значение, которое будет помечаться как selected будет браться именно из него, иначе же будет смотреть в POST запрос.

    Вызов сниппета:

    [[!shkOptions?
      &get=`delivery`
      &post_name=`shk_delivery`
      &selected=`Сочи (Центр)` // ваше значение которое будет помечаться как selected
      &toPlaceholders=`1`
      &pl_prefix=`shkopt_`
      &tpl=`select_option`]]
    
    [[!+shkopt_delivery]]  // плейсхолдер
    
 

Последние комментарии

  • Есть ещё сниппет param_edit_table. Там можно задавать свой шаблон.
    https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/elements/snippets/param_edit_table.php

    [[param_edit_table? &docId=`1` &tvName=`param1` &tpl=`properties_table` ]]

    Читать далее
  • C

    Нашел где формируется содержимое доп.поля
    core/components/shopkeeper3/elements/tv/output/shk_checkbox.class.php
    Здесь можно добавить span(с ценой). Чтобы вывести еще одно поле созданное в админке (прикрепляю скриншот), строку 21

    list($item,$itemvalue) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    меняете на

    list($item,$itemvalue,$itemdesc) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    тоесть, вся суть в добавлении третьего параметра $itemdesc (название можно вписать любое). А потом просто используем эту метку в формировании чекбокса.

    0_1550739109576_dopValue.jpg

    Читать далее
  • C

    Здравствуйте! Скажите пожалуйста, есть ли возможность вывести цену параметра, рядом с названием этого параметра? Вот такой вызов [[*dopValue:replace=`[[+id]]==[[*id]]`]] выводит нам параметры в виде input + label , input + label , input + label, а мне надо input + label + span(с ценой), input + label + span(с ценой) и тд...
    И сразу усложню вопрос - как вывести не только значение цены параметра, но и остальных значений параметра. Например если мне нужна вот такая конструкция - input + label + span(с ценой) + span(с описанием)?

    Устал искать решение и попытки тщетны... Буду рад любой помощи, догадке, наводке!

    Читать далее
  • M

    @Andchir , спасибо. Проблема и правда была в одном из плагинов, который на другом сайте нормально работает

    Читать далее