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

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

  • 23 апреля 2021 г.
  • Добрый день!
    Предварительно изучил инструкцию "Как вывести дополнительную характеристику товара в любом месте" - > https://www.diafan.ru/dokument/full-manual/examples/extra-goods-prop/

    Однако не выходит. Правлю в файле cart.view.table.php
    Пытаюсь добавить проверку у товара, если характеристика заполнена, чтобы выводилось предупреждение о задержке в доставке.

    *if(! empty($rows["names_param"]["Наличие на складе"]["value"]))
    {
    echo '<div class=""><span class="table-cell">Возможны задержки до 5 рабочих дней</span></div>';
    }

    Но видимо не обращается к характеристикам.
    print_r($rows) тоже пусто.

    Подскажите как обратиться к характеристике из корзины?
  • 01 июля 2020 г.
  • Добрый день!
    Для настройки обмена данными необходимо массово заполнить у товаров поля "Имортируемый ИД".
    Не могу разобраться как это сделать штатным импортом, т.к. два раза идентификатор в настройках импорта указывать нельзя.
    Попробовал связку "Артикул" - "Имортируемый ИД" - > создался новый товар, а не обновился прежний.
  • 10 апреля 2020 г.
  • Добрый день!
    Поискал и не смог найти следующую информацию: шаблон ссылки на состав заказа (по примеру прямой ссылки на товар по id)
    Актуально когда покупатель не указывает свой e-mail, и можно отправить ссылку на телефон.

    Пример шаблона прямой ссылки на товар - https://site.ru/shop/show + id

    Есть ли такая для заказа? Формирующаяся накладная доступна только для тех, у кого есть доступ к админ панели

  • 16 апреля 2020 г. , редакция: 1587016860
  • Большая часть аудитории у магазина женщины 50+ (обязательность заполнения поля e-mail рушит конверсию) - просим обязательно указывать только телефон (поле e-mail идет как не обязательное), а потом если у клиента возникает желание получить состав заказа на телефон у нас начинаются "танцы с бубном"

    Ну или тогда наверно нужна возможность регистрации без e-mail, а только по телефону
  • 20 декабря 2019 г.
  • С недавнего времени яндекс блокирует использование своих карт без клиентского ключа. У нас на сайте есть виджет, что бы в нем работал поиск пришлось туда вставлять токен и ключ, который получали на девелопере яндекса
  • 12 октября 2019 г.
  • Сталкивался с этой проблемой
    поставьте в файле shop.yandex.php в строке проверки наличия continue/
    Предложения которых нет в наличии не будут попадать в файл xml

    if(empty($prices) || $this->diafan->configmodules("use_count_goods", 'shop', $site_id) && ! $prices[0]["count_goods"] || $row["no_buy"])
    {
    $available = 'false';continue;
  • 22 июля 2019 г.
  • Добрый день!
    Кто нибудь реализовывал у себя в проекте доработку под импорт/экспорт сопутствующих услуг.

    Когда в категории больше 800 товаров руками что то не хочется проставлять у каждого.
    Куда копать хоть укажите
  • 13 октября 2020 г.
  • Занялись подключением Робокассы. В личном кабинете https://partner.robokassa.ru/ "Ваш магазин активен". А вот в админ панели не понятно - создаем метод оплаты "Robokassa" и не появляется полей, как в инструкции.
    Может мы что то упустили, подскажите.
    Скриншот 1 - как в инструкции указано
    Скриншот 2 - как имеем
  • 10 июня 2019 г.
  • Для товаров которых нет в наличии предусмотрен вывод соответствующей надписи: "Товар временно отсутствует".
    Что нужно дописать в файле shop.view.buy_form.php, чтобы в противном случае выводить "Есть в наличии" как на скриншоте, код прикладываю

    <?php
    /**
    * Шаблон кнопки «Купить», в котором характеристики, влияющие на цену выводятся в виде выпадающего списка
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 6.0
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    if (! empty($result["result"]["access_buy"]))
    return false;

    if($result["row"]["empty_price"])
    return false;

    $action = '';
    if(! $result["result"]["cart_link"] || $result["row"]["no_buy"] || empty($result["row"]["count"]))
    {
    $action = 'buy';
    }

    echo '
    <form method="post" action="" class="js_shop_form shop_form ajax">
    <input type="hidden" name="good_id" value="'. $result["row"]["id"].'">
    <input type="hidden" name="module" value="shop">
    <input type="hidden" name="action" value="'.$action.'">';

    if ($result["row"]["no_buy"] || empty($result["row"]["count"]))
    {
    echo '<div class="js_shop_no_buy js_shop_no_buy_good shop_no_buy shop_no_buy_good">'.$this->diafan->_('Товар временно отсутствует').'</div>';
    $hide_submit = true;
    $waitlist = true;
    }
    if(! $result["result"]["cart_link"])
    {
    $hide_submit = true;
    }

    // у товара несколько цен
    if ($result["row"]["price_arr"])
    {
    foreach ($result["row"]["price_arr"] as $price)
    {
    $param_code = '';
    foreach ($price["param"] as $p)
    {
    if($p["value"])
    {
    $param_code .= ' param'.$p["id"].'="'.$p["value"].'"';
    }
    }
    if(! empty($price["image_rel"]))
    {
    $param_code .= ' image_id="'.$price["image_rel"].'"';
    }
    echo '<div class="js_shop_param_price shop_param_price shop-item-price"'.$param_code.'>';
    echo '<span class="price"><span class="js_shop_price" summ="'.$price["price_no_format"].'" format_price_1="'.$this->diafan->configmodules("format_price_1", "shop").'" format_price_2="'.$this->diafan->configmodules("format_price_2", "shop").'" format_price_3="'.$this->diafan->configmodules("format_price_3", "shop").'">'.$price["price"].'</span> '.$result["result"]["currency"];
    if(! empty($price["old_price"]))
    {
    echo '<span class="shop_old_price price-old"><span class="shop_price_value strike">'.$price["old_price"].' '.$result["result"]["currency"].'</span></span>';
    }
    if (! $price["count"] && empty($hide_submit) || empty($price["price_no_format"]) && ! $result['result']["buy_empty_price"])
    {
    echo '<span class="js_shop_no_buy shop_no_buy">'.$this->diafan->_('Товар временно отсутствует').'</span>';
    $waitlist = true;
    }
    echo '</span>';
    echo '</div>';
    }

    echo '<div class="addict-field">';
    echo '<div class="js_shop_form_param shop_form_param">';
    foreach ($result["result"]["depends_param"] as $param)
    {
    if(! empty($result["row"]["param_multiple"][$param["id"]]))
    {
    if(count($result["row"]["param_multiple"][$param["id"]]) == 1)
    {
    foreach ($result["row"]["param_multiple"][$param["id"]] as $value => $depend)
    {
    echo '<input type="hidden" name="param'.$param["id"].'" value="'.$value.'"'.($depend == 'depend' ? ' class="depend_param js_shop_depend_param"' : '').'>';
    }
    }
    else
    {
    $select = '';
    foreach ($param["values"] as $value)
    {
    if(! empty($result["row"]["param_multiple"][$param["id"]][$value["id"]]))
    {
    if(! $select)
    {
    $select = ' '.$param["name"].' <select name="param'.$param["id"].'" class="shop-dropdown inpselect'.($result["row"]["param_multiple"][$param["id"]][$value["id"]] == 'depend' ? ' depend_param js_shop_depend_param' : '').'">';
    }

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

    if(! empty($result["row"]["additional_cost"]))
    {
    $rand = rand(0, 9999);
    echo '<div class="js_shop_additional_cost shop_additional_cost">';
    foreach($result["row"]["additional_cost"] as $r)
    {
    echo '<div class="shop_additional_cost_block"><input type="checkbox" name="additional_cost[]" value="'.$r["id"].'" id="shop_additional_cost_'.$result["row"]["id"].'_'.$r["id"].'_'.$rand.'" summ="';
    if(! $r["percent"] && $r["summ"])
    {
    echo $r["summ"];
    }
    echo '"';
    if($r["required"])
    {
    echo ' checked disabled';
    }
    echo '> <label for="shop_additional_cost_'.$result["row"]["id"].'_'.$r["id"].'_'.$rand.'">'.$r["name"];
    if($r["percent"])
    {
    foreach ($result["row"]["price_arr"] as $price)
    {
    $param_code = '';
    foreach ($price["param"] as $p)
    {
    if($p["value"])
    {
    $param_code .= ' param'.$p["id"].'="'.$p["value"].'"';
    }
    }
    echo '<div class="js_shop_additional_cost_price" summ="'.$r["price_summ"][$price["price_id"]].'"'.$param_code.'>';
    echo ' <b>+'.$r["format_price_summ"][$price["price_id"]].' '.$result["result"]["currency"].'</b></div>';
    }
    }
    elseif($r["summ"])
    {
    echo ' <div class="js_shop_additional_cost" summ="'.$r["summ"].'"><b>+'.$r["format_summ"].' '.$result["result"]["currency"].'</b></div>';
    }
    echo '</label></div>';
    }
    echo '</div>';
    }

    if(! empty($waitlist))
    {
    echo '
    <div class="js_shop_waitlist shop_waitlist">
    '.$this->diafan->_('Сообщить, когда появится на e-mail').'
    <input type="email" name="mail" value="'.$this->diafan->_users->mail.'">
    <input type="button" value="'.$this->diafan->_('Ок', false).'" action="wait">
    <div class="errors error_waitlist" style="display:none"></div>
    </div>';
    }

    echo '<div class="js_shop_buy shop_buy to-cart">';
    if (empty($result["row"]['is_file']) && empty($hide_submit))
    {
    echo '<input type="text" value="1" name="count" class="number" pattern="[0-9]+([\.|,][0-9]+)?" step="any">';
    if(! empty($result["row"]["measure_unit"]))
    {
    echo ' '.$result["row"]["measure_unit"].' ';
    }
    }
    if(empty($hide_submit))
    {
    echo '<input type="button" class="button solid" value="'.$this->diafan->_('Купить', false).'" action="buy">';
    }
    echo '</div>';

    if(empty($hide_submit) && ! empty($result["result"]["one_click"]))
    {
    echo '<span class="js_shop_one_click shop_one_click"><input type="button" value="'.$this->diafan->_('Купить в один клик', false).'" action="one_click"></span>';
    }
    echo '<div class="error"';
    if (! empty($result["row"]["count_in_cart"]))
    {
    $measure_unit = ! empty($result["row"]["measure_unit"]) ? $result["row"]["measure_unit"] : $this->diafan->_('шт.');
    echo '>'.$this->diafan->_('В <a href="%s">корзине</a> %s %s', true, BASE_PATH_HREF.$result["result"]["cart_link"], $result["row"]["count_in_cart"], $measure_unit);
    }
    else
    {
    echo ' style="display:none;">';
    }
    echo '</div>';
    echo '</form>';
    //форма быстрого заказа
    if(! empty($result["result"]["one_click"]))
    {
    $result["result"]["one_click"]["good_id"] = $result["row"]["id"];
    echo $this->get('one_click', 'cart', $result["result"]["one_click"]);
    }
  • 03 июля 2019 г.
  • Столкнулся с той же проблемой, в описании выше не совсем точно описана проблема и порядок событий

    При активированной галке "отправлять статусы заказов в ИМ" в системе Мой склад:
    1 На сайт поступает заказ. Статус заказа на сайте "новый"
    2 Заказ выгружается в систему мой склад. Статус заказа в системе мой склад проставляется "[N] Принят"
    3 В это же время как только заказ выгрузился в систему мой склад на сайте меняется статус на "Выполнен" и пропадает сумма заказа

    Хотелось бы подружить статусы, то есть чтобы названия в CMS соответствовали названиям в "Мой склад" (новый, в обработке, отгружен, выполнен, возвращен, отменен)
  • 03 июля 2019 г.
  • На сколько понял, что CMS опирается на значения реквизита "Проведено" и "Пометка удаления" и на основе их подбирает действие, а потом уже формирует статус в панели CMS.
    Сложно.
    Не понятно почему после обмена данными сумма заказа в CMS пропадает. Причем если зайти в заказ и сохранить его, то сумма восстанавливается...
  • 22 февраля 2019 г.
  • Добрый день!
    Есть проблема с работой строки пагинации в модуле отзывов на сайте https://beripostel.ru/otzyvy/

    В частности кнопка [ » ], отправляющая на последнюю страницу из имеющихся в списке, ошибочно имеет в адресе два слеша (//), что порождает 302 редирект.

    При изучении файлов имеющихся в корневой папке /modules/paginator/views не обнаружил ни чего лишнего в окружении символа &#187.
    Подскажите, куда еще посмотреть?
  • 23 февраля 2019 г.
  • Прикладываю:

    <?php
    /**
    * Шаблон постраничной навигации для пользовательской части
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 6.0
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    if ($result)
    {
    echo '<div class="block paginator"'.(! empty($result["more"]) && ! empty($result["more"]["uid"]) ? ' uid="'.$result["more"]["uid"].'"' : '').'>';
    foreach ($result as $l)
    {
    switch($l["type"])
    {
    case "more":
    break;

    case "first":
    echo '<a class="start" href="'.BASE_PATH_HREF.$l["link"].'">&#171;</a> ';
    break;

    case "current":
    echo '<span class="active">'.$l["name"].'</span> ';
    break;

    case "previous":
    echo '<a class="prev" href="'.BASE_PATH_HREF.$l["link"].'" title="'.$this->diafan->_('На предыдущую страницу', false).'">...</a> ';
    break;

    case "next":
    echo '<a class="next" href="'.BASE_PATH_HREF.$l["link"].'" title="'.$this->diafan->_('На следующую страницу', false).' '.$this->diafan->_('Всего %d', false, $l["nen"]).'">...</a> ';
    break;

    case "last":
    echo '<a class="end" href="'.BASE_PATH_HREF.$l["link"].'">&#187;</a> ';
    break;

    default:
    echo '<a href="'.BASE_PATH_HREF.$l["link"].'">'.$l["name"].'</a> ';
    break;
    }
    }
    echo '</div>';
    }
  • 04 февраля 2020 г.
  • С этим кодом статусы сопоставляются хорошо - спасибо!
    Может подскажите: почему сумма по заказу сбрасывается в диафан каждый раз после обмена информацией с "Мой склад".
    Причем если зайти в сам заказ в диафане и сохранить его, сумма появляется.

Новости

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