Вход • Регистрация

Всего найдено: 2051

  • 13 октября 2023 г. , редакция: 1697210048
  • Кол-во характеристик зависит от того сколько вы их создадите и в них укажите галочкой "Использовать в фильтре"

    хоть характеристику с формой пуговиц (круглые / квадратные)

    шаблон прокатит любой.... (и в любом можно модифицировать фильтр как вам понравится webmasterom)
  • 09 сентября 2023 г. , редакция: 1694289028
  • сделайте тегами - по картинке на это и похоже....

    др. вариант -> выведите все характеристики с отдельной страницей значений у этого товара в одном блоке (без названия характеристики) (а в списке характеристике закомментируйте вывод ссылки на значение характеристики)

    третий вариант -> выводите в отдельном блоке необходимы характеристики и оберните ссылкой на фильтр (Категория, характеристики=параметр)
    Код

    function linkSize($cat_id, $param_name, $param_id, $param_val, $param_unit){
    $fr = $param_val - ($param_val/100);
    $to = $param_val + ($param_val/100);
    $ret = '<a href="';
    $ret .= '/shop/?module=shop&action=search&cat_id='.$cat_id.'&a=&';
    $ret .= 'p'.$param_id.'_1='.$fr.'&';
    $ret .= 'p'.$param_id.'_2='.$to.'" title="Показать близкие по размеру ['.$param_name.'] от '.$fr.' '.$param_unit.' до '.$to.' '.$param_unit.'">';
    $ret .= '<span itemprop="name">'.$param_val.'</span> <span itemprop="unitText">'.$param_unit.'</span>';
    $ret .= '</a>';

    return $ret;
    }

    // Длина детали
    if (!empty($result["ids_param"][27])){
    echo '<div class="params-block" itemprop="additionalProperty" itemscope itemtype="https://schema.org/PropertyValue">';
    echo '<div class="params-line"><i class="param-icon fas fa-ruler"></i> <span itemprop="name">'.$result["ids_param"][27]["name"].'</span></div>';
    echo '<div class="params-block-line"></div>';
    echo '<div class="params-right">';
    echo '<span itemprop="value">'.$result["ids_param"][27]["value"].'</span> <span itemprop="unitText">'.$result["ids_param"][27]["measure_unit"].'</span>';
    echo '</div>';
    echo '</div>';
    }
    // Ширина
    if (!empty($result["ids_param"][29])){
    echo '<div class="params-block" itemprop="additionalProperty" itemscope itemtype="https://schema.org/PropertyValue">';
    echo '<div class="params-line"><i class="param-icon fas fa-ruler-vertical"></i> <span itemprop="name">'.$result["ids_param"][29]["name"].'</span></div>';
    echo '<div class="params-block-line"></div>';
    echo '<div class="params-right">';
    echo linkSize ($result["cat_id"], $result["ids_param"][29]["name"], 29, $result["ids_param"][29]["value"], $result["ids_param"][29]["measure_unit"]);
    // echo $result["ids_param"][29]["value"].' '.$result["ids_param"][29]["measure_unit"];
    echo '</div>';
    echo '</div>';
    }
  • 25 августа 2023 г. , редакция: 1692970583
  • Если в замен <SELECT> Использовать (<ul>+<li> или <div> или <input> - что удобней)
    механизм выбора модификаций не заработает на том JS коде который у Вас в шаблоне (у меня фаил JS и CSS ещё к этому механизму....)
    надо написать JS функцию которая будет проверять Выбор у SELECT и применять Стили к (<ul>+<li> или <div> или <input>) и обратно передавать в SELECT выбранный <option> на основы события по одному из (<ul>+<li> или <div> или <input>)

    я бы выбрал UL+LI (позволит масштабировать если у товара будет не одна характеристика а две или три влияющих на цену)

    Код

    {
    $select = '';
    $param_but = '';

    foreach ($param["values"] as $value)
    {
    if(! empty($result["row"]["param_multiple"][$param["id"]][$value["id"]]))
    {
    if(! $select)
    {
    $select =
    '<div class="field-d">
    <label class="field-d__name">'.$param["name"].'</label>
    <select id="param'.$param["id"].'_sel_'.$result["row"]["id"].'" style="display: none;" name="param'.$param["id"].'" class="inpselect'.($result["row"]["param_multiple"][$param["id"]][$value["id"]] == 'depend' ? ' js_shop_depend_param' : '').'">';

    // Добавил генерацию кнопок
    $param_but =
    '<ul id="param'.$param["id"].'_ul_'.$result["row"]["id"].'" name="param'.$param["id"].'" costtov="cost_'.$result["row"]["id"].'" tovid="'.$result["row"]["id"].'" class="params_buttons">';
    }

    $select .= '<option value="'.$value["id"].'"'
    .(! empty($value["selected"]) ? ' class="js_form_option_selected" selected' : '')
    .'>'.$value["name"].'</option>
    ';

    $param_but .= '<li onclick="change_purchase_state(this)"'.(! empty($value["selected"]) ? ' class="param_but_act"' : ' class="param_but"').' value="'.$value["id"].'">'.$value["name"].'</li>';
    }
    }
    if($select)
    {
    echo $select.'</select>';

    echo $param_but.'</ul>';

    echo '</div>';
    }
    }
  • 21 августа 2023 г. , редакция: 1692632937
  • День добрый!

    я как лентяй не стал изобретать что-то глобальное а пошёл по такому пути :
    поставил на <SELECT> стиль -> display: none;
    и ниже в цикле сделал <div> добавил onclick по которому менять выбор в <SELECT>

    Вот - С покраской - Без покраски
    https://clck.ru/35Paca
    https://clck.ru/35Pb4P

  • 11 августа 2023 г. , редакция: 1691775255
  • В моём случаи был модуль выводящий иконки характеристик
    на карточке товара , одной модели - от разных товаров (как модификации)


    на карточке товара фильтр не работает же.... (чтоб узабилити увеличить и облегчить подбор)
  • 11 августа 2023 г.
  • можно глянуть через профилирование запросов (в настройках сайта врубается...)

    и ещё план такой ....
    1) проверить без модулей и шаблона
    2) подрубить шаблон если всё нормально в 1-ом пункте
    3) если 2й пункт так же в порядке - добавляем сторонние модули....

    если явно нагружаемого 1го запроса нет а что то в совокупности и попробовать локализовать..... зону поиска


    ПЕРВЫМ делом на PHP 7.2 уйдите
  • 16 мая 2023 г. , редакция: 1684247570
  • Проще сделать как Александра предложила
    , а вот для отображения на дочерних страницах - всех дочерних от родителя - это уже можно через меню...

    я делал чуть сложнее запросом к БД - в хлебных крошках делал вывод в выпадающем меню...

  • 28 апреля 2023 г. , редакция: 1682701136
  • Для Александра - Ин100грамм работает, Туда не заходят те кому и раньше не хотелось его посещать.... (но все кто раньше ходил и щас посещают....), достаточно поставить на Хром надстройку
    <code>
    <p>Доступ к сайтам, случайно заблокированным в силу разных причин.сайтам, случайно заблокированным в силу разных причин.</p>
    Обход блокировок Рунета
    Обход интернет-цензуры в России: https://git.io/ac-wiki
    </code>

    «Секре́т Полишине́ля» — фразеологическое выражение, обозначающее секрет, который всем и так известен, мнимую тайну, «секрет — на весь свет».

    PS: даже можно посещать сайты с Torrent и наслаждаться в качестве киноновинками и софтом...
Показывать по:

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.