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

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

  • 25 января 2016 г.
  • Если не проверять ваш код
    Цитата

    private function list_elements_query($time, $cat_ids)
    {
    switch($this->diafan->configmodules("sort"))
    {
    case 1:
    $order = 's.id DESC';
    break;
    case 2:
    $order = 's.id ASC';
    break;



    case 3:
    $order = 's.name'._LANG.' ASC';
    break;
    default:
    $order = 's.sort DESC, s.id DESC';
    }
    $rows = DB::query_range_fetch_all(
    "SELECT s.id, s.[name], s.timeedit, s.[anons], s.site_id, s.brand_id, s.no_buy, s.article,"
    ." s.hit, s.new, s.action, s.is_file FROM {shop} AS s"
    .($this->diafan->_route->sort == 1 || $this->diafan->_route->sort == 2 ?
    " LEFT JOIN {shop_price} AS pr ON pr.good_id=s.id AND pr.trash='0'"
    ." AND pr.date_start<=".time()." AND (pr.date_start=0 OR pr.date_finish>=".time().")"
    ." AND pr.currency_id=0"
    ." AND pr.role_id".($this->diafan->_users->role_id ? " IN (0,".$this->diafan->_users->role_id.")" : "=0")
    ." AND (pr.person='0'".($this->person_discount_ids ? " OR pr.discount_id IN(".implode(",", $this->person_discount_ids).")" : "").")"
    : '')
    .($this->sort_config['use_params_for_sort'] ? " LEFT JOIN {shop_param_element} AS sp ON sp.element_id=s.id AND sp.trash='0' AND sp.param_id=".$this->sort_config['param_ids'][$this->diafan->_route->sort] : '')
    .($this->diafan->configmodules('where_access_element') ? " LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='shop' AND a.element_type='element'" : "")
    .($cat_ids ? " INNER JOIN {shop_category_rel} AS r ON s.id=r.element_id" : '')
    ." WHERE s.[act]='1' AND s.trash='0' "
    .($cat_ids ? "AND r.cat_id IN (".implode(',', $cat_ids).")" : 'AND s.site_id='.$this->diafan->_site->id)
    .($this->diafan->configmodules('where_period_element') ? " AND s.date_start<=".$time." AND (s.date_finish=0 OR s.date_finish>=".$time.")" : '')
    .($this->diafan->_route->brand ? " AND s.brand_id=".$this->diafan->_route->brand : '')
    .($this->diafan->configmodules('where_access_element') ? " AND (s.access='0' OR s.access='1' AND a.role_id=".$this->diafan->_users->role_id.")" : '')
    ." GROUP BY s.id ORDER BY "
    .($this->diafan->_route->sort ? $this->sort_config['sort_directions'][$this->diafan->_route->sort].',' : '')
    ."s.no_buy ASC, ".$order,
    $this->diafan->_paginator->polog, $this->diafan->_paginator->nastr
    );
    return $rows;
    }

    То найдите в выше приведенном Вами коде строчку
    Код

    LEFT JOIN {shop_param_element} AS sp ON sp.element_id=s.id AND sp.trash='0' AND sp.param_id=".$this->sort_config['param_ids'][$this->diafan->_route->sort] : '')
    .($this->diafan->configmodules('where_access_element') ? " LEFT JOIN {access}

    И замените ее на эту строчку
    Код

    LEFT JOIN {shop_param_element} AS sp ON sp.element_id=s.id AND sp.trash='0' AND sp.param_id=".$this->sort_config['param_ids'][$this->diafan->_route->sort] : '')
    .($this->diafan->configmodules('where_access_element') ? " AND sp.value='1' LEFT JOIN {access}

    Теперь, в результате получим то, что вы хотели
    Цитата

    Как поправить запрос, чтобы выдавались только те товары, у которых в таблице {shop_param_element} присутствовало значение value1=2?
  • 25 января 2016 г. , редакция: 1453753750
  • Алексей (yelrik), в самом начале Вы сказали
    Цитата
    у которых в таблице {shop_param_element} присутствовало значение value1=2?

    еще раз обращу Ваше внимание
    Цитата
    value1=2

    А потом говорите
    Цитата
    Никакого эффекта...У кого еще какие мысли по теме?

    Вот и не понять Вас, благо в ЛС Вы написали
    Цитата
    не помогло, все также выводит товар, у которого нет значения допхарактеристики с id=2

    еще раз обращу Ваше внимание
    Цитата
    допхарактеристики с id=2

    Теперь понятно. У Вас все смешалось в голове -> value === id.
    И так, если нужно id === 2, тогда вновь берем Ваш код
    Код

    private function list_elements_query($time, $cat_ids)
    {
    switch($this->diafan->configmodules("sort"))
    {
    case 1:
    $order = 's.id DESC';
    break;
    case 2:
    $order = 's.id ASC';
    break;



    case 3:
    $order = 's.name'._LANG.' ASC';
    break;
    default:
    $order = 's.sort DESC, s.id DESC';
    }
    $rows = DB::query_range_fetch_all(
    "SELECT s.id, s.[name], s.timeedit, s.[anons], s.site_id, s.brand_id, s.no_buy, s.article,"
    ." s.hit, s.new, s.action, s.is_file FROM {shop} AS s"
    .($this->diafan->_route->sort == 1 || $this->diafan->_route->sort == 2 ?
    " LEFT JOIN {shop_price} AS pr ON pr.good_id=s.id AND pr.trash='0'"
    ." AND pr.date_start<=".time()." AND (pr.date_start=0 OR pr.date_finish>=".time().")"
    ." AND pr.currency_id=0"
    ." AND pr.role_id".($this->diafan->_users->role_id ? " IN (0,".$this->diafan->_users->role_id.")" : "=0")
    ." AND (pr.person='0'".($this->person_discount_ids ? " OR pr.discount_id IN(".implode(",", $this->person_discount_ids).")" : "").")"
    : '')
    .($this->sort_config['use_params_for_sort'] ? " LEFT JOIN {shop_param_element} AS sp ON sp.element_id=s.id AND sp.trash='0' AND sp.param_id=".$this->sort_config['param_ids'][$this->diafan->_route->sort] : '')
    .($this->diafan->configmodules('where_access_element') ? " LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='shop' AND a.element_type='element'" : "")
    .($cat_ids ? " INNER JOIN {shop_category_rel} AS r ON s.id=r.element_id" : '')
    ." WHERE s.[act]='1' AND s.trash='0' "
    .($cat_ids ? "AND r.cat_id IN (".implode(',', $cat_ids).")" : 'AND s.site_id='.$this->diafan->_site->id)
    .($this->diafan->configmodules('where_period_element') ? " AND s.date_start<=".$time." AND (s.date_finish=0 OR s.date_finish>=".$time.")" : '')
    .($this->diafan->_route->brand ? " AND s.brand_id=".$this->diafan->_route->brand : '')
    .($this->diafan->configmodules('where_access_element') ? " AND (s.access='0' OR s.access='1' AND a.role_id=".$this->diafan->_users->role_id.")" : '')
    ." GROUP BY s.id ORDER BY "
    .($this->diafan->_route->sort ? $this->sort_config['sort_directions'][$this->diafan->_route->sort].',' : '')
    ."s.no_buy ASC, ".$order,
    $this->diafan->_paginator->polog, $this->diafan->_paginator->nastr
    );
    return $rows;
    }

    И в место строчки
    Код
    LEFT JOIN {shop_param_element} AS sp ON sp.element_id=s.id AND sp.trash='0' AND sp.param_id=".$this->sort_config['param_ids'][$this->diafan->_route->sort] : '')
    .($this->diafan->configmodules('where_access_element') ? " LEFT JOIN {access}

    Пишем так
    Код

    LEFT JOIN {shop_param_element} AS sp ON sp.element_id=s.id AND sp.trash='0' AND sp.param_id=".$this->sort_config['param_ids'][$this->diafan->_route->sort] : '')
    .($this->diafan->configmodules('where_access_element') ? " AND sp.param_id='2' LEFT JOIN {access}
  • 26 января 2016 г.
  • Цитата
    ВОПРОС: что проверяется условием ... ?

    Данную переменную
    Код
    $this->sort_config['use_params_for_sort']
    я объяснил бы как метку, которая говорит о пользовательской сортировки.
    Цитата
    ВОПРОС: ... как сделать, чтобы оно выполнялось?

    В начале функции, перед формирование запроса присвойте данной переменно значение
    Код
    $this->sort_config['use_params_for_sort'] = true;

    Но на мой взгляд, это не решение вашей задачи (хоть результат будет), это реальный КОСТЫЛЬ.
  • 22 января 2016 г. , редакция: 1453453919
  • Владислав (adkin), не стоит так разгоняться на поворотах. Начните с того:
    1. Вы читали http://www.diafan.ru/dokument/?
    2. Смотрели http://demo.diafan.ru/?
    3. Есть ли у Вас понимание html, css, php, javascript и т.п.?
    4. Есть ли у Вас желание разобраться?
  • 21 января 2016 г.
  • Уважаемые пользователи, партнеры и разработчики. Считаю Ваш гнев преждевременным, так как не исчерпаны средства мирного урегулирования разногласий. Во-первых, прежде чем приобретать дополнение, можно всегда связаться с разработчиком и попросить его предоставить возможность протестировать дополнение (т.е. всегда можно организовать доступ к демонстрационной версии продукта в том качестве, чтобы его протестировать так, как именно Вам необходимо). Во-вторых, любой продукт может содержать баги, так как здесь происходит связка cms и дополнения (например, разработчики изменили что-то в модуле, а в дополнении из-за этого что-то съехало). Поэтому можно обратиться к разработчику за помощью. Но это, на мой взгляд, не обязывает разработчика помогать бесплатно, так как при приемке Вы убедились, что все работает, а после этого именно Вы принимаете решение о внесение изменений в cms (т.е. отходите от кода, на основе которого разрабатывалось дополнение). В-третьих, необходимо учитывать занятость и Вашу и нашу, но если разработчик игнорирует, то Вы всегда можете обратиться к сотрудникам diafan. Они всегда смогут временно заблокировать продажу дополнения и тут уж разработчик будет вынужден выйти на связь.
  • 21 января 2016 г. , редакция: 1453397673
  • Если была соответствующая договоренность, то считаю, что этому соглашению должны придерживаться обе стороны. Если разработчик не выходит на связь длительное время, обратитесь к сотрудникам diafan, у них есть рычаги воздействия. Тем более, Виталий (DIAFAN.CMS) проинформировал:
    Цитата
    Но если поступает жалоба и тем более не одна, и тем более о чем-то, что не очевидно из демо, то, конечно мы арбитром выступим.
  • 25 января 2016 г.
  • Цитата
    с гарантией отсутствия глюков

    Скажем, даже у американского Ситибанка в г.Нью-Йорке с ПО было не все в порядке. Это доказал В.Левин, взяв оттуда 10 700 952 чужих долларов.
    Но это отвлечение, а вот 1 месяц гарантии (на выявление и справление багов) думаю разумно.
  • 21 января 2016 г. , редакция: 1453379267
  • Цитата

    покупатель видит сколько ему осталось до бесплатной доставки

    Модель модуля «Корзина товаров, оформление заказа» (cart.model.php) генерирует требуемую Вам информацию. Обратите внимание на
    Код

    public function form_table() { ... }

    особенно на переменную
    Код

    $this->result["delivery"]

    Теперь по аналогии воспользуйтесь этим в shop.model.php
    Цитата

    если у человека доставка бесплатная целесообразнее 0 заменить на слово бесплатно

    Здесь достаточно проверки (если пусто, то выводим не 0, а слово "бесплатно")
  • 19 января 2016 г. , редакция: 1453229006
  • Цитата
    Обновил 1 января

    Крутяг, а время было 3 ч. 15 мин. 01.01.2016 г.?
    Цитата
    Включил лог ошибок ... Чудеса диафана

    Так момент для обновления Вы выбрали чудесный - вот и чудеса ...
    Цитата
    Ошибка подключения к базе данных, возможно неправильные параметры подключения

    Проверте config.php
  • 19 января 2016 г. , редакция: 1453230187
  • Цитата
    Обновил 1 января на новую версию. Посмотрел админку вышел.

    Цитата
    Откатил версию php с 7 до 5.6

    Так Вы версию php обновляли или версию cms? Если php, то читайте документацию (угадайте, что я имел ввиду: документацию по php или документацию cms.diafan).
    Успехов.
  • 17 января 2016 г.
  • Код
    <insert name="show_search" module="shop" site_id="15">

    Цитата

    show_search – выводит форму поиска товаров. Если для категорий прикреплены дополнительные характеристики, то поиск по ним производится только на странице категории. Поиск по обязательным полям подключается в настройках модуля (опции «Искать по цене», «Искать по артикулу», «Искать товары по акции», «Искать по новинкам», «Искать по хитам»). Если в форму поиска выведены характеристики с типом «выпадающий список» и «список с выбором нескольких значений», то значения характеристик, которые не найдут ни один товар, в форме поиска не выведутся.

    Атрибуты:

    — site_id – страницы, к которым прикреплен модуль. Идентификаторы страниц перечисляются через запятую. По умолчанию выбираются все страницы. Если выбрано несколько страниц сайта, то в форме поиска появляется выпадающих список по выбранным страницам. Можно указать отрицательное значение, тогда указанные страницы будут исключены из списка;

    — cat_id – категории товаров, если в настройках модуля отмечено «Использовать категории». Идентификаторы категорий перечисляются через запятую. Можно указать значение current, тогда поиск будет осуществляться по текущей (открытой) категории магазина или по всем категориям, если ни одна категория не открыта. Если выбрано несколько категорий, то в форме поиска появится выпадающий список категорий магазина, который будет подгружать прикрепленные к категориям характеристики. Можно указать отрицательное значение, тогда указанные категории будут исключены из списка. Можно указать значение all, тогда поиск будет осуществлятся по всем категориям товаров и в форме будут участвовать только общие характеристики. Атрибут не обязателен;

    — ajax – подгружать результаты поиска без перезагрузки страницы: true – результаты поиска подгружаются, по умолчанию будет перезагружена вся страница. Результаты подгружаются только если открыта страница со списком товаром, иначе поиск работает обычным образом;

    — only_module – выводить форму поиска только на странице модуля «Магазин»: true – выводить форму только на странице модуля, по умолчанию форма будет выводиться на всех страницах;

    — template – шаблон тега (файл modules/shop/views/shop.view.show_search_template.php; по умолчанию шаблон modules/shop/views/shop.view.show_search.php).

    Подробнее смотрите http://www.diafan.ru/dokument/full-manual/modules/shop/#SHablonnye-tegi
  • 17 января 2016 г. , редакция: 1453018582
  • Проверти настройки прав групп пользователей в cms и настройки соответствующей страницы. Также проверти какие права на данный файл на хосте.
  • 18 января 2016 г. , редакция: 1453103879
  • Сами файлы по данному адресу есть? В cms возможно запретить просмотр со стороны пользователя (см. дополнительные настройки конкретной страницы, а не настройки прав для группы).

Новости

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

Форум