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

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

  • 02 марта 2017 г.
  • Перерыл весь форум и не нашел такой темы. Уверен, что ее уже поднимали. Поскажите если есть. Если нет то нужно в карточке товара в цикле вывода характеристик делать проверку. У меня не получилось сделать запрос количества. До цикла могу запросить, а внутри цикла запрос не работает.
    Еще искал тему в форуме про связь картинок и характеристик. - все работает, но всегда слетает после обновления товара. Наверное нужно прописать условие - что если связь характеристика есть, то ее не переписывать. Помогите, если эти темы есть где-то. Готов оплатить работу под ключ в решени этих двух задач.)))
  • 12 октября 2016 г.
  • Я тоже пытался убрать из предложения в карточке товара отсутствующие размеры, или изменить из цвет, что было понятно, что не нужно выбирать, или поменять очередность их вывода, что бы размеры с 0 были низу. Столкнулся с тем, что в shop.view.buy_form.php вывод параметров, влияющих на цену происходит в
    foreach ($param["values"] as $value)
    {

    А в этом перечислении не могу обратиться с запросом количества выводимой характеристики. $price["count"] в нем не выводится.
    $price["count"] работает в foreach ($result["row"]["price_arr"] as $price) .
    Пробовал создать массив значений количества характеристик внутри foreach ($param["values"] as $value) и выводить его последовательно в окне выбора характеристик ( например получать результат размер 36=1, размер 37=2...). Потом можно как угодно использовать эти цыфры, хоть дописать условие, если=0 не выводить - в общем не важно. Главное что задачу не решил, так как массив значений формировался в порядке очередности характеристик по id, а вывод по алфовиту. В итоге пробывал упорядочить последовательность характеристик и выстроил их по алфовиту на странице самой характеристики. Все заработало, если только у товара одна характеристика. Но у меня встречается товар с двумя характеристиками в одной карточке. Например обувь - Цвет+размер. В этом случае получается чушь.
    В итоге плюнул я на это и довольствуюсь терпением покупателя, который просто обязан догадаться, что в открывшейся странице с товаром надпись" Товар отсутствует" не означает, что он отсутстует, - это просто у первой характеристики он кончился. Нужно переключить размер и все появится - и кнопка купить и кнопка отложить.
    Код вывода значения $g для случая с одной характеристикой в товаре:


    foreach ($param["values"] as $value)
    {

    if(! empty($result["row"]["param_multiple"][$param["id"]][$value["id"]]))
    {


    //создание массва количества по характеристикам
    $g[0] = 0;
    $g = array();
    foreach ($result["row"]["price_arr"] as $price)
    {
    $g[]=$price["count"];
    }
    //Далее стандартный код


    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' : '').'">';
    }

    // вставляем значение переменной "$g" рядом с выводимой характеристикой, для проверки
    $select .= '<option value="'.$value["id"] .'"'
    .(! empty($value["selected"]) ? 'selected' : '')
    .'>'.$value["name"].$g[$nn=$nn+1].'</option>';

    }

    }

    // Вывод окошка выбора характеристики

    if($select)
    {
    echo '<div class="shop_form_param">'.$select.'</select></div>';
    }


  • 15 сентября 2016 г. , редакция: 1473913664
  • Здравствуйте.
    Столкнулся с проблемой -
    При активации мобильной версии на типовом шаблоне ссылка с мобильного ведет на site.ru/m/.
    Файл themes/m/site.php
    Как настроить его внешний вид при помощи CSS - понятно. Но он подгружает в себя все модули и текст из основной Главной Странице (на которой например, неуклюжие для мобильников большие банеры). Отвечают за это три строчки кода:
    <insert name="show_links" module="site">
    <insert name="show_text" >
    <insert name="show_module">
    С удовольствием бы удалил их, но не пойму, как тогда сделать так, что бы втавленные вместо них модули не показывались на последующих страницах.
    Пытался создать новую страницу с нужными модулями и указать ее ID =47
    <insert name="show_module" module="site" Id="47"> (наверняка косячу)
    Но в этом случае ничего не случается - страница пустая. тренировался и с динамическими модулями - тоже не получилось.
    При моем варианте кода даже с ID=1 (Главная страница) ничего не прилетаем.
    Помогите, кто знает как правильно написать эту строчку
    <insert name="show_module" module=",,,,,,,," template="..........." Id="47">

    Благодарю.
  • 18 апреля 2016 г.
  • В результатых по индексированию моего сайта отражено 8000 загруженых но не принятых к индексу страниц из разделов Cart и Wishlist, ссылка на корзину с товарами как и у всех стоит в шапке. В robots.txt есть запрет для Яндекса на индексацию этих разделов. Всего Яндекс загрузил 10000 страниц сайта, 8000 из которых вхолостую. Как переключить внимание яндекса с этих двух разделов на основной каталог? Спасибо.
  • 19 апреля 2016 г.
  • Не очень понял как она работает, почитав в интернете о канонической ссылке. Ее нужно поставить в HEAD главной страницы, указав на одну из многократно загружаемых страниц, но не индексируемых и не нужных мне? Например так:

    <link rel="canonical" href="http://мой_домен.ru/shop/cart/?110624/"/> - страница с очередной корзиной


    Или их надо поставить несколько подряд, указав на все разделы, которые мне нужно индексировать? Например так?

    <link rel="canonical" href="http://мой_домен.ru/shop/botinku/"/>
    <link rel="canonical" href="http://мой_домен.ru/shop/sapogi/"/>
    <link rel="canonical" href="http://мой_домен.ru/shop/tapochki/"/>


    Спасибо Вам
  • 19 апреля 2016 г.
  • Вычитал, что каноническая ссылка должна быть вставлена во все повторные страницы и содержать один адрес для них. Например 5000 корзин сформированы на основе site.php
    Ноя не могу в head этой страницы вставить каноническую ссылку, у меня все полезные страницы, которые сформированы на оновном шаблоне сайта site.php так же отвалятся.

    Может есть способ написать саму ссылку на корзину (на главной странице) так хитро, что бы робот по ней не переходи и в корзины не попадал? Такое возможно?
  • 18 апреля 2016 г.
  • Хоть я и поднимал эту тему, но ответа ни от кого не получил. Возможно не корректно описал ситуацию.

    Привыгрузки товаров из 1С в базе каждый раз заново переписываются все характеристики товара.
    Вместе с этим заново к каждой характеристике присваиваются задействованные категории с товарами, где эта характеристика встречается. На сайте можно назначить характеристике принадлежность - Общая. Но при следующем обмене все сброситься до нескольких категорий в соответствии с выгрузкой товара на сайт.

    Это не позволяет делать частичную выгрузку, часть Каталога. Все невыгружаемые товары в этом случае теряют связь с характристикой. На них пропадает поиск на сайте. Можно пересохранить выбывший товар, тогда характеристика подключится, но это невозможно делать - товаров много.
    Приходится каждый раз выгружать полный каталог - долго, до получаса у меня.

    ВОПРОС: Как поправить код, или хотя бы где его искать, который отвечает за механизм привязки характеристик к категориям товаров. Можно ли прописать условие, что если характеристика имеет хоть одну категорию, то она уже не меняет своей привязки?

    Спасибо.
  • 26 апреля 2016 г. , редакция: 1461650889
  • Решил проблемму так - закомнтировал строку 856 (примерно)

    //DB::query("DELETE FROM {shop_param_category_rel} WHERE element_id=%d", $row["id"]);

    И теперь категории не стираются в списке у характеристики. Правда, иногда нужно будет вручную удалаять некоторые категии у характеристики, которые более не используются, раз в год. И еще. если доп. характеристика Общая, то ее нужно уточнить по категориям, иначе при выгрузки из 1с она уточняется только по выгружаемому товару.

  • 29 февраля 2016 г.
  • Задача:
    Тяжелый каталог из 1С довольно долго выгружается на склад. При добавления одного товара к складу, приходиться перезаливать весь Каталог. Рациональней настроить несколько синхронизаций в 1С, каждая из которых заливала бы только одну категорию товара. Например только брюки, не перезаливая Рубашки и Галстуки
    ОДЕЖДА
    - Рубашки
    - Майки
    - Брюки
    У Брюки и Рубашек есть общая характеристика - Размер. Если перезалить только Брюки, то с ней перезаливается и Характеристика - Размер, у которой теряется связь с Майки, Рубашки. Если зайти в раздел Характеристики на сайте, то у Размер отмечена только одна категория - Брюки, о две другие слетели. Причем в карточке товара на сайте эта характеристика указана, только находясь в категории - Одежда к выбору по характеристикам видны только размеры от категории - Брюки. Нужно открывать карточку товара - из категории - Рубашки и пересохранить, тогда размеры рубашек тоже попадут в характеристику - Размер.
    После каждого частичного перезалива со всех категорий слетают все характеристики, кроме обновляемых. Можно еще каждую характеристику раскрыть и присвоить в ней значение "Категори"= Все. Но каждый раз это неудобно , например у меня более 50 характеристик по каталогу.

    Нашел участок кода, который по моему мнению может влиять на переписывания категорий у характеристик при синхронизации.
    Файл shop.1c.php
    Код:

    /**
    * Импорт дополнительных характеристик
    *
    * @return void
    */
    private function import_params($xml)
    {
    $property = array();
    if(isset($xml->Свойства->СвойствоНоменклатуры))
    {
    $property = $xml->Свойства->СвойствоНоменклатуры;
    }

    if(isset($xml->Свойства->Свойство))
    {
    $property = $xml->Свойства->Свойство;
    }

    foreach ($property as $xml_feature)
    {
    switch($xml_feature->ТипЗначений)
    {
    case 'Число':
    $type = 'numtext';
    break;
    case 'Справочник':
    $type = 'select';
    break;
    default:
    $type = 'text';
    break;
    }
    $row = DB::query_fetch_array("SELECT id, type FROM {shop_param} WHERE [name]='%h' LIMIT 1", $xml_feature->Наименование);
    $values = array();
    if(! $row)
    {
    $row["id"] = DB::query("INSERT INTO {shop_param} ([name], type) VALUES ('%h', '%s')", $xml_feature->Наименование, $type);
    $row["type"] = $type;
    if($type == 'select' && ! empty($xml_feature->ВариантыЗначений->Справочник))
    {
    $i = 1;
    foreach ($xml_feature->ВариантыЗначений->Справочник as $xml_s)
    {
    $values[strval($xml_feature->Ид)] = DB::query("INSERT INTO {shop_param_select} ([name], param_id, sort) VALUES ('%h', %d, %d)", $xml_s->Значение, $row["id"], $i++);
    }
    }
    }
    else
    {
    if($row["type"] == "multiple" && $type == 'select')
    {
    $type = 'multiple';
    }
    if($row["type"] != $type)
    {
    DB::query("UPDATE {shop_param} SET type='%s' WHERE id=%d", $type, $row["id"]);
    }
    if(($type == 'select' || $type == 'multiple') && ! empty($xml_feature->ВариантыЗначений->Справочник))
    {
    $i = 1;
    foreach ($xml_feature->ВариантыЗначений->Справочник as $xml_s)
    {
    if(! $sel_id = DB::query_result("SELECT id FROM {shop_param_select} WHERE [name]='%h' AND param_id=%d", $xml_s->Значение, $row["id"]))
    {
    $sel_id = DB::query("INSERT INTO {shop_param_select} ([name], param_id, sort) VALUES ('%h', %d, %d)", $xml_s->Значение, $row["id"], $i++);
    }
    $values[strval($xml_s->ИдЗначения)] = $sel_id;
    }
    }
    DB::query("DELETE FROM {shop_param_category_rel} WHERE element_id=%d", $row["id"]);
    }
    $row["values"] = $values;
    $this->cache["params"][strval($xml_feature->Ид)] = $row;
    }
    }

    /**
    * Импорт товаров

  • 29 февраля 2016 г.
  • И знающие товарищи без труда подскажут мне, как убрать сложный алгоритм присваивание выложенной характеристике категорий, соответствующих выкладываемым в эту сессию синхронизации товаров, а просто назначить выкладываемой Характеристике ВСЕ категории. Там где эта характеристика не используется, она все равно не видна в отборе, поэтому не так наверное важно иметь на сайте четкое соответствие состава - Характеристика + все категории где она используется.

    Спасибо, если кто сможет дочитать до конца и даже поможет.
  • 13 декабря 2015 г. , редакция: 1449961860
  • Здравствуйте.
    Переделываю страницу 404.php
    вставил туда модуль
    <insert name="show_login" module="registration">

    Он отображается, в форму все вставляется, а авторизации не происходит. После нажатии "Войти" просто все сбрасывается.
    Вставил в эту страницу шапку, в ней так же не работаем кнопка входа "Личная страница".
    Чем 404-я отличается от site.php . Может какую-то Java нужно дополнительно прикрепить к 404-ой?
    Спасибо.
  • 29 ноября 2015 г. , редакция: 1448801830
  • Здравствуйте.
    Пытаюсь в личной странице добавить к строкам истории заказа товара информацию. Выводить ее нужно в зависимости от статуса заказа. Но не работает у меня такое сравнение

    $ord=$order['status_name']; // значение получаю - ниже даже вывожу для самопроверки
    if (!$ord=="Завершено ") //Завершено - это название статуса, у меня соответствует действию ВЫПОЛНЕНИЕ
    {

    echo 'Для зачета оплаты не оплаченного товара необходимо пополнить баланс ';
    }

    else
    { echo $ord.', не требует оплаты</td>';
    }

    А еще вопрос по сравнению значений баланса и суммы заказа - Сумма заказа как и цена выводится в формате с пробелом 3-м разрядом - например: 7 780 руб.
    Баланс, например равен 100 руб. Если я пытаюсь сделать любое арифметическое действие с ними, например:

    $doplata=$result['balance']["summ"]- $order['summ'];

    то получаю значение 100-7=93
    т.е. от суммы заказа 7 780 в вычислении участвует только первая 7, а остальные 780 куда-то пропадают.
    в форумах искал, ничего не нашел.
    Спасибо , если подскажете, где почитать или где это уже обсуждалось, или просто поправите ошибку моего кода ( не так наверное сравниваю переменные)

  • 23 ноября 2015 г. , редакция: 1448264423
  • Помогите сделать правильно проверку - зарегистрирован ли пользователь. Пытаюсть в корзине прописать условие вывода приглашения к регистрации для незарегистрированных пользователей. Делаю так -

    if (!empty($result["user"])) {
    echo 'Тут будет банер с приглашением и прочее...';
    }

    Но не работает - не определяет и выводит эту информацию для любого пользователя. хотя аналогичный запрос работает в шапке.
    Спасибо знатокам))
  • 21 ноября 2015 г.
  • Большое спасибо. Был в отпуске ))
    Сегодня пробую сделать.
    А что значит - "Прописываете там, где у вас вся кастомная джава: "
    У меня ее нет.
    Папка со скриптами содержит много файлов mail site superfish ...... В какой добавлять?
  • 17 ноября 2015 г.
  • При нажатии "Личный Кабинет" в шапке (если пользователь не зарегистрирован), появляется окошко с предложением регистрации. Я добавил в верхнее меню кнопку "Личный кабинет", Если Незарегистрированный жмет на нее, то выпадает 404. Пробовал создать страницу 405.php в includes, к которой подключил модуль "регистрация". Потом ее пытался связать со страницей "Личная страница" заменив в последней 301-ю ошибку на 405. Сам не помню всех манипуляций, но на короткое время заработало, а потом у меня что-то случилось с базой и сайт упал. Теперь откатился, сайт заработал, но повторить подвиг не хочется.
    Я просто не понимаю логики работы поля "Редирект на текущую страницу со страницы:" в дополнительных настройках страницы. Там по умолчанию стоит 301 и в другом поле можно вписать адрес. Этот адрес - цель перехода для рассматриваемой страницы или источник, с которого при ошибке пользователь попадет на рассматриваемую? Лазил в тех документации - ничего там простым языком не объясняют- все формулы какие-то((((
  • 21 ноября 2015 г. , редакция: 1448086980
  • Разобрался немного.
    То что вы предлагаете сделать у меня уже было изначально (тема Спорт магазин).
    На странице есть кнопка "личный кабинет" в правом верхнем углу. При нажатии открывается окошко с выбором входи или регистрации (правда там нет желаемой кнопки "восстановить пароль, которая почему то есть в подобном окошке, если входишь на site.ru/admin. Наверное я не правильно описал свою проблему. Попробую сказать по другому - после входа, пользователь должен иметь возможность попасть в свой кабинет. Та кнопка в верху "Личный кабинет" которая открывала окно входа на сайт, превратилась в ВЫХОД. Поэтому я в меню добавил кнопку "Личный кабинет" и авторизованный пользователь по ней попадает на свою страницу. Проблема в том, что эту кнопку видит и не авторизованный пользователь. При нажатии выпадает 404. Мне нужно что бы эта кнопка или не была видна или вела бы на страницу регистрации или в окно авторизации. Я умею моей кнопке "Личный кабинет" назначить безусловную ссылку на страницу авторизации, но тогда зарегистрированные пользователи не попадают в личный кабинет. У этой кнопки в меню есть минимум штатных настроек. Там есть "Атрибуты" может нужно туда вписать что-то, что бы ее показывало только авторизованным пользователям? мой сайт www.100ika.ru
    Спасибо за помощь
  • 03 ноября 2015 г.
  • Спасибо большое.
    Мне не нужно перечислять количества каждой характеристики. Второй вариант мне не подходит.
    В первом Вы говорите вставлять код в shop.view.buy_form.php . Но мне нужно вставить код в shop.yandex.php . Сейчас проверю будет работать.
  • 03 ноября 2015 г.
  • Заметил такое обращение в файле
    $this->diafan->configmodules("use_count_goods", 'shop', $site_id)
    но оно выводит неверное количество - всегда =1
    Пробовал менять на
    $this->diafan->configmodules("count_goods", 'shop', $site_id)
    Результат - пустота значения, не выводиться.


Показывать по:

Новости

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