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

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

  • 01 декабря 2015 г.
  • Приветствую, хочу добавить что бы при заказе товара в корзине, на эмеил администратора рядом с каждым товаром добавился пункт "Штрихкод". у меня у каждого товара есть доп характеристика - Штрихкод. производиться синхронизация программы с сайтом и все штрих коды выгружаются напрямую туда.

    Я нашёл в cart.action.php

    Код
    //send mail admin
    $subject = str_replace(array('%title', '%url', '%id', '%message'),
    array(TITLE, BASE_URL, $order_id, strip_tags($this->message_admin_param)),
    $this->diafan->configmodules('subject_admin', 'shop')
    );

    $message = str_replace(
    array('%title',
    '%url',
    '%id',
    '%message',
    '%order',
    '%payment',
    '%fio'
    ),
    array(
    TITLE,
    BASE_URL,
    $order_id,
    $this->message_admin_param,
    $cart,
    $payment_name,
    $user_fio
    ),
    $this->diafan->configmodules('message_admin', 'shop'));

    send_mail(
    $this->diafan->configmodules("emailconfadmin", 'shop') ? $this->diafan->configmodules("email_admin", 'shop') : EMAIL_CONFIG,
    $subject,
    $message,
    $this->diafan->configmodules("emailconf", 'shop') ? $this->diafan->configmodules("email", 'shop') : ''
    );

    if(in_array("subscribtion", $this->diafan->installed_modules))
    {
    if(! empty($user_phone))
    {
    $phone = preg_replace('/[^0-9]+/', '', $user_phone);
    if(! DB::query_result("SELECT id FROM {subscribtion_phones} WHERE phone='%s' AND trash='0'", $user_phone))
    {
    DB::query("INSERT INTO {subscribtion_phones} (phone, name, created, act) VALUES ('%s', '%h', %d, '1')", $user_phone, $user_fio, time());
    }
    }
    }



    но как сюда добавить одно поле из доп характеристики, я не разобрался - так как я даже не смог понять механизм привязки доп характеристики к товару, помогите доработать данный механизм.
  • 02 декабря 2015 г.
  • вот что разрабы пишут:

    Код
    Для письма таблица товаров формируется функцией form_table() в файле modules/cart/cart.action.php. В ней и нужно добавлять запрос штрихода из таблицы {shop_param_element} для каждого товара. Шаблон таблицы modules/cart/view/cart.view.table_mail.php. Возможно, также cart.view.table.php (для необновленных версий). Если Вам нужно, чтобы штрихкод попадал только в письмо администратору, но не в письмо пользователю, то добавить нужно отдельный шаблон и указать его в функции send_mails (cart.actions.php):


    $res = $this->diafan->_shop->order_get($order_id);

    // таблица заказа для пользователя
    $cart = $this->diafan->_tpl->get('table_mail', 'cart', $res);

    // таблица заказа для администратора
    $cart_admin = $this->diafan->_tpl->get('table_mail_admin', 'cart', $res);
    ...
    //send mail admin
    $subject = str_replace(array('%title', '%url', '%id', '%message'),
    array(TITLE, BASE_URL, $order_id, strip_tags($this->message_admin_param)),
    $this->diafan->configmodules('subject_admin', 'shop')
    );

    $message = str_replace(
    array('%title',
    '%url',
    '%id',
    '%message',
    '%order',
    '%payment',
    '%fio'
    ),
    array(
    TITLE,
    BASE_URL,
    $order_id,
    $this->message_admin_param,
    $cart_admin,
    $payment_name,
    $user_fio
    ),


    поможете понять о чем они доносили?)
  • 19 ноября 2015 г. , редакция: 1447942645
  • Всем Привет
    Есть такая задача, имею один домен, на нем лицензия, и хочу что бы в поддомене пример test.dom.ru но что бы все данные брал из базы сайта dom.ru такие как пользователи, товары, новости, и само собой там будет другой дизайн. Это возможно реализовать? Если да, то дайте правильные настройки config.php.
  • 21 августа 2015 г. , редакция: 1440171685
  • Приветствую, вообщем такая задача, нужно что бы во время оформления заказа, все формы были пустые, и сами не заполнялись не от данных из базы не от куков из браузера, как это реализовать? на всю форму стоит autocomplete="off" пробовал через jquery задать всем формам value="" но он всеровно в админку отправляет то что заполнено в карточке пользователя, хотя визуально они пустые.
  • 06 августа 2015 г.
  • Приветствую, я только изучаю JS, JQ и вот один простой код который работает, но чувствую он не совсем правильно собран, помогите его упростить или укоротить, и вообще дайте советы по этому поводу, буду очень благодарен

    Код
    $(document).ready(function() {
    $(".fieldlist input[name=payment_id]").change(function() {
    if (this.value == '1') {
    $(".order_form_param4").addClass('hidemy');
    $(".order_form_param5").removeClass('hidemy');
    $(".order_form_param6").removeClass('hidemy');
    $(".order_form_param7").removeClass('hidemy');
    $(".order_form_param9").removeClass('hidemy');
    $(".order_form_param11").addClass('hidemy');
    $(".order_form_param12").removeClass('hidemy');
    $(".order_form_param13").addClass('hidemy');
    $(".order_form_param14").removeClass('hidemy');
    $(".order_form_param1 input[name=p1]").attr("required","");
    $(".order_form_param2 input[name=p2]").attr("required","");
    $(".order_form_param3 input[name=p3]").attr("required","");
    $(".order_form_param4 input[name=p4]").removeAttr("required","");
    $(".order_form_param5 input[name=p5]").attr("required","");
    $(".order_form_param6 input[name=p6]").attr("required","");
    $(".order_form_param7 input[name=p7]").attr("required","");
    $(".order_form_param9 input[name=p9]").attr("required","");
    $(".order_form_param11 input[name=p11]").removeAttr("required","");
    $(".order_form_param12 input[name=p12]").removeAttr("required","");
    $(".order_form_param13 input[name=p13]").attr("required","");
    $(".order_form_param14 input[name=p14]").removeAttr("required","")

    }
    else if (this.value == '2') {
    $(".order_form_param4").addClass('hidemy');
    $(".order_form_param5").addClass('hidemy');
    $(".order_form_param6").addClass('hidemy');
    $(".order_form_param7").addClass('hidemy');
    $(".order_form_param9").addClass('hidemy');
    $(".order_form_param11").addClass('hidemy');
    $(".order_form_param12").addClass('hidemy');
    $(".order_form_param13").addClass('hidemy');
    $(".order_form_param14").addClass('hidemy');
    $(".order_form_param1 input[name=p1]").attr("required","");
    $(".order_form_param2 input[name=p2]").attr("required","");
    $(".order_form_param3 input[name=p3]").attr("required","");
    $(".order_form_param4 input[name=p4]").removeAttr("required","");
    $(".order_form_param5 input[name=p5]").removeAttr("required","");
    $(".order_form_param6 input[name=p6]").removeAttr("required","");
    $(".order_form_param7 input[name=p7]").removeAttr("required","");
    $(".order_form_param9 input[name=p9]").removeAttr("required","");
    $(".order_form_param11 input[name=p11]").removeAttr("required","");
    $(".order_form_param12 input[name=p12]").removeAttr("required","");
    $(".order_form_param13 input[name=p13]").removeAttr("required","");
    $(".order_form_param14 input[name=p14]").removeAttr("required","")

    }
    else if (this.value == '5') {
    $(".order_form_param4").removeClass('hidemy');
    $(".order_form_param5").removeClass('hidemy');
    $(".order_form_param6").removeClass('hidemy');
    $(".order_form_param7").removeClass('hidemy');
    $(".order_form_param9").removeClass('hidemy');
    $(".order_form_param11").removeClass('hidemy');
    $(".order_form_param12").removeClass('hidemy');
    $(".order_form_param13").removeClass('hidemy');
    $(".order_form_param14").addClass('hidemy');
    $(".order_form_param1 input[name=p1]").attr("required","");
    $(".order_form_param2 input[name=p2]").attr("required","");
    $(".order_form_param3 input[name=p3]").attr("required","");
    $(".order_form_param4 input[name=p4]").attr("required","");
    $(".order_form_param5 input[name=p5]").attr("required","");
    $(".order_form_param6 input[name=p6]").attr("required","");
    $(".order_form_param7 input[name=p7]").attr("required","");
    $(".order_form_param9 input[name=p9]").attr("required","");
    $(".order_form_param11 input[name=p11]").attr("required","");
    $(".order_form_param12 input[name=p12]").removeAttr("required","");
    $(".order_form_param13 input[name=p13]").attr("required","");
    $(".order_form_param14 input[name=p14]").removeAttr("required","")

    }
    else if (this.value == '6') {
    $(".order_form_param4").removeClass('hidemy');
    $(".order_form_param5").removeClass('hidemy');
    $(".order_form_param6").removeClass('hidemy');
    $(".order_form_param7").removeClass('hidemy');
    $(".order_form_param9").removeClass('hidemy');
    $(".order_form_param11").removeClass('hidemy');
    $(".order_form_param12").removeClass('hidemy');
    $(".order_form_param13").removeClass('hidemy');
    $(".order_form_param14").addClass('hidemy');
    $(".order_form_param1 input[name=p1]").attr("required","");
    $(".order_form_param2 input[name=p2]").attr("required","");
    $(".order_form_param3 input[name=p3]").attr("required","");
    $(".order_form_param4 input[name=p4]").attr("required","");
    $(".order_form_param5 input[name=p5]").attr("required","");
    $(".order_form_param6 input[name=p6]").attr("required","");
    $(".order_form_param7 input[name=p7]").attr("required","");
    $(".order_form_param9 input[name=p9]").attr("required","");
    $(".order_form_param11 input[name=p11]").attr("required","");
    $(".order_form_param12 input[name=p12]").removeAttr("required","");
    $(".order_form_param13 input[name=p13]").attr("required","");
    $(".order_form_param14 input[name=p14]").removeAttr("required","")

    }
    })
    });
  • 01 августа 2015 г.
  • Спасибо за ответ, но так тоже не работает:
    Код
    $(document).ready(function() {
    $(".fieldlist input[type=radio]").click(function(){
    param = $(this).attr("id");
    if(param == "delivery_id_3") {
    //если Самовывоз
    $(".payment_1").addClass('hidemy');//скрываем оплату Наличными курьеру
    } else {
    $(".payment_1").removeClass('hidemy');//возвращаем оплату Наличными курьеру
    }
    return true;
    })
    });
  • 02 августа 2015 г. , редакция: 1438524788
  • счас должно получиться так, если выбрать Самовывоз, то пункт Курьером по Москве и Московской Области, должен стать с классом hidemy.

    Код
    $(document).ready(function() {
    $(".fieldlist input[name=delivery_id]").change(function() {
    if (this.value == '3') {
    $(".wrapp_sposobi_1").addClass('hidemy');
    }
    })
    });


    но из за обновления аяксом, класс встает и сразу сбрасывает
  • 31 июля 2015 г. , редакция: 1438356745
  • Приветствую, пытаюсь сделать так:
    Если выбрана доставка как самовывоз(id="delivery_id_3") то оплата наличными курьеру(class="payment_1") становиться не видна

    Код

    $(document).ready(function() {
    $(".fieldlist input[type=radio]").click(function(){
    param = $(this).attr("id");
    if(param == "#delivery_id_3") {
    //если Самовывоз
    $(".payment_1").addClass('hidemy');//скрываем оплату Наличными курьеру
    } else {
    $(".payment_1").removeClass('hidemy');//возвращаем оплату Наличными курьеру
    }
    return true;
    })
    });


    в css:
    Код
    .hidemy {
    display: none;
    }


    Где ошибка, или я что то не так делаю, подскажите
  • 02 августа 2015 г. , редакция: 1438484812
  • попробовал сделать так:
    Код

    $(document).ready(function() {
    $(".fieldlist input[name=delivery_id]").change(function() {
    if (this.value == '3') {
    $(".wrapp_sposobi_1").addClass('hidemy');
    }
    else if (this.value == '2') {
    $(".wrapp_sposobi_3").addClass('hidemy');
    }
    })
    });


    Вроде бы все получилось, но есть трабл, когда происходит выбор доставки, страница cразу микросекунду обновляется аяксом, и класс возвращает на тот который был у него, то есть за секунду все возвращаеться свои места, как сделать что бы не было секунды прогрузки от аякса, или так что бы скрипт выполнялся после этого микро обновления, очень нужна ваша помощь!!!
  • 15 июля 2015 г.
  • спасибо, сделал так:
    Код

    if(! empty($waitlist))
    {
    echo '<div class="regular-price"><span class="price">нет в наличии</span> <span class="shop_price_currency"><br><br><br></span></div>';
    }
    else
    {
    echo '<div class="regular-price"><span class="price">' . $price["price"] . '</span> <span class="shop_price_currency">' . $result["result"]["currency"] . '</span></div>';
    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>';
    }


    кому надо, пользуйтесь.
  • 15 июля 2015 г.
  • я бы поправил) не могу разобраться с операторами для отсутствующего товара
    Код

    if ($result["row"]["no_buy"] || empty($result["row"]["count"]))
    {
    echo '<div class="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="price-box shop_param_price"'.$param_code.'>';
    echo '<div class="regular-price"><span class="price">' . $price["price"] . '</span> <span class="shop_price_currency">' . $result["result"]["currency"] . '</span></div>';
    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"]) ? ' selected' : '')
    .'>'.$value["name"].'</option>';
    }
    }
    if($select)
    {
    echo $select.'</select> ';
    }
    }
    }
    }
    echo '</div>';
    echo '</div>';
    }
  • 24 апреля 2015 г.
  • Здравствуйте, проблема такая, через оплату яндекс денег(безналично) на почту падает сообщение такое же как и при простом заказе, можно ли как то сделать другой шаблон или что то, что отличало онлайн оплаченный, от обычного заказа?
Показывать по:

Новости

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