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

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

  • 31 марта 2016 г. , редакция: 1459433962
  • Да ладно, починят поди, просто чего так упираться то было, нет, чтобы по-тихому исправить явный баг и спасибо сказать за его выявление...ан нет, сразу гнусные обвинения...и хостинг дескать нет тот и руки кривые и т.д. и т.п.

    Вон Виталию в отзывах чего пишут, а это еще начало марта :))

  • 31 марта 2016 г.
  • Код
    Я модер, сам себя не забаню! А остальных могу! Даже за создание этой темы, т.к. официально она нарушает правила форума! И её могу снести, и ТС забанить! И никто мне ничё не сделает!

    Предлагаю эту информацию разместить в блоке о себе, нормальная такая краткая характеристика и вот это
    Цитата
    Я не разработчик. Не представитель компании. Я просто модератор на форуме.
    вынести в заголовок
    P.S. Вопрос СП так и не решила, НО об этот больше на форуме не слова...всем спасибо :)
  • 31 марта 2016 г.
  • Давайте порассуждаем, создает пользователь тему, чтобы получить конкретную информацию и решить конкретный вопрос, туда заходят флудеры, аля Валерий Викторович, и пишет не относящуюся к теме информацию. Пара вопросов:
    1) зачем ТС бесмысленный флуд, который не помогает решать проблему?
    2) как сказывается бессмысленный флуд на душевном равновесии ТС и других участников темы?
    Вы в очередной раз на свой преклонный возраст указываете, неужели за прожитые годы никаких выводов не сделано. Ну хочется Вам пофлудить - создайте флудоветку в соответствующем разделе и флудите на здоровье.
  • 31 марта 2016 г.
  • Виталий, я честно говоря уже устал эту тему обсуждать. Ну давайте тогда и в пользовательской части выгружать все характеристики и бренды из базы, потом javascript скрывать не нужные и показывать пользователю. Отнюдь в пользовательской части все логично выводится, почему в админке то так не логично реализовано? Зачем выводить при редактировании карточки ВСЕ характеристики ВСЕХ товаров??? Это ж двойная нагрузка: на сервер и со стороны javascript на ресурсы машины пользователя? И в требованиях к движку написать, что должно быть не более стольки то характеристик в базе и не более стольки то брендов, потому как логика работы CMS не предусматривает большого числа вышеназванных атрибутов.
  • 31 марта 2016 г.
  • Вышло обновление DIAFAN.CMS 6.0.2.2.
    При редактировании товаров характеристики будут меняться при смене категории только после сохранения, Перевод визуального редактора, Возможность выбора языка панели при авторизации, Доработан импорт товаров, Упразднено оформление списков.
    С чем собственно всех и поздравляю. Зависание при открытие карточки товара значительно сократилось из-за фильтрации выводимых характеристик. А вот бренды так и оставили без фильтра по категории, видимо из-за этого все-таки притормаживает.
  • 31 марта 2016 г.
  • Дуэль? :) В чем неправда на момент написания поста вопрос был не решен и СП молчала, потом сам увидел обнову, обновился и але-оп. А карточка действительно висит около 5 секунд, но это терпимо. Попробую оптимизировать таблицу связей с брендами, может и выгорит чего
  • 22 февраля 2016 г.
  • Создаете характеристику (в Вашем случае, например, ее можно назвать "единица измерения") с типом "список с выбором нескольких значений", поставьте галочку "доступен к выбору при заказе". Заходите в карточку товара, ищете название характеристики и рядом ставите галочку "влияет на цену". Поднимаетесь чуть выше и проставляете для каждой единицы свою цену. Допустим 1 шт.- 100 руб., коробка (10 шт.) - 1000 руб. и т.д. После этого покупатель сможет выбирать ту единицу измерения, которая ему нужна и в карточке товара автоматом будет изменяться цена.
  • 26 января 2016 г.
  • Что значит появятся? :) Виталий все верно Вам посоветовал. Если товары уже занесены в каталог, то создайте профиль для импорта/экспорта (id, название, производитель). Далее через экспорт выгрузите в файл, затем откройте файл в Excel или OpenofficeCalc, вставьте значение производителя (предварительно создайте его в справочнике производители), сохраните и импортируйте файл.
    Также через импорт можно добавлять новые товары.
  • 26 января 2016 г. , редакция: 1453828193
  • Я встречался с такой проблемой, когда напрямую залазил в базу данных, вносил туда изменения и забыл вернуть значения по умолчанию. Попробуйте установить движок по новой и еще раз импорт произвести.
    При задвоении у обоих товаров одинаковые import_id в базе?
  • 22 января 2016 г. , редакция: 1453473039
  • Доброго дня!

    В функции ниже формируется запрос к базе для вывода товаров:

    Код
    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;
    }


    Как поправить запрос, чтобы выдавались только те товары, у которых в таблице {shop_param_element} присутствовало значение value1=2?
  • 24 января 2016 г. , редакция: 1453589571
  • Если напрямую в базу запрос сделать, то сортировка работает
    Код
    SELECT s.name1 FROM diafan_shop AS s LEFT JOIN diafan_shop_param_element AS sp ON sp.element_id=s.id WHERE sp.value1=2
    .
    В shop.model.php добавил следующее:
    Код
    .($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=2 ".$this->sort_config['param_ids'][$this->diafan->_route->sort] : '') ." WHERE sp.value1 = '2' "
    .($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'" : "")
    Не работает...
    Что делаю не так, поправьте, пожалуйста
  • 26 января 2016 г.
  • Вот что выяснилось:

    1) В diafan 5.12.8 в таблице shop_param_element поле называлось value1, в diafan 6.0.7 - value. Из-за этого и возникла путаница.
    2) Включил профилирование запросов в админке.
    Код
    SELECT s.id, s.name1 AS name, s.timeedit, s.anons1 AS anons, s.site_id, s.brand_id, s.no_buy, s.article, s.hit, s.new, s.action, s.is_file FROM `diafan_shop` AS s
    ...
    INNER JOIN `diafan_shop_category_rel` AS r ON s.id=r.element_id WHERE s.act1='1' AND s.trash='0' AND r.cat_id IN (1) GROUP BY s.id ORDER


    Там где ... должен быть запрос:
    Код
    .($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') ? " AND sp.value='2' LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='shop' AND a.element_type='element'" : "")

    НО его нет. Т.к. этот запрос выводится из тернарного оператора при TRUE, то его отсутствие означает, что условие не выполнено, поэтому выводится пустота.

    ВОПРОС: что проверяется условием и как сделать, чтобы оно выполнялось?
  • 25 января 2016 г. , редакция: 1453752028
  • Вставил
    Код
    .($this->diafan->configmodules('where_access_element') ? " AND sp.value1='2' LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='shop' AND a.element_type='element'" : "")


    Никакого эффекта...У кого еще какие мысли по теме?
  • 26 января 2016 г.
  • Вопрос поставлен абсолютно точно. Нужен фильтр именно по значению допхарактеристики. В таблице shop_param_element это именно поле value1. А про id=2 я написал потому как значения value1 это id из таблицы shop_param_select.
    И дело даже не в этом. Запрос с param_id тоже не работает.
    И еще...заметил интересную особенность. В shop.model.php в запросах касающихся таблицы shop_param_select почему то обращаются к полю value, но фактически в базе именно поле value1.

    Даешь brainstorm!
  • 30 декабря 2015 г.
  • Доброго дня и с наступающим Новым Годом!

    Ковыряюсь в сторону мультимагазинности. Разделил задачу на 2 части:
    1) Выдача товара из базы в соответствии с наличием значения допхарактеристики (т.е. если у товара среди присвенных значений допхарактеристики есть требуемое, то товар выводится, если такого значения нет, то не выводится)
    2) Отображение цены в соответствии со значением допхарактеристики

    2я часть решил путем передачи
    Код
    $value["id"] = $_POST['значение характеристики из формы']
    в шаблон shop.view.buy_form.
    Вопрос по 1й части. Как я понимаю, механизм выдачи находится в модели shop.model. Чего в нем нужно поправить и/или что туда передать, что выдача фильтровалась по признаку наличия передаваемого значения допхарактеристики?
  • 31 декабря 2015 г. , редакция: 1451523216
  • Ну причем тут это? Характеристика давно уже создана и принцип работы понятен. Значение характеристики - это магазин, в котором есть данный товар. Представьте, что таких магазинов больше 100. А пользователь может сделать заказ только из одного...А если товаров более 10к...как ему заказ сделать?
    Вот поэтому то и нужно, чтобы пользователь указывал значение характеристики (магазин), и в выдачу попадали только те товары, которые можно купить в конкретном магазине по указанной цене.
    Должно выглядеть так : пользователь выбирает магазин из списка, переходит в интернет-магазин, а там отображаются не все товары из базы, а только те, которым присвоено значение передаваемой характеристике и цена отображалась не всех значений характеристики (ведь у товара могут быть и другие значения этой характерики, т.е. данный товар может быть не только в этом конкретном магазине, но и в других), а только соответствующая значению характеристики.
  • 22 декабря 2015 г.
  • Доброго дня!

    Копаю в сторону функционала мультимагазинности. Один из вариантов - создать характеристику (список с выбором нескольких значений), каждое значение - отдельный магазин. Соответственно цена и количество - цена товара в данном магазине и его наличие (количество равно нулю - товар отсутствует и недоступен к заказу, любое число больше нуля - товар в наличие).
    По этому поводу имею вопрос:
    Нужно реализовать, чтобы на отдельной странице пользователь выбирал магазин (характеристику), в котором хочет сделать заказ. Значение характеристики записывается в переменную, которая передается на страницу, к которой привязан модуль интернет-магазина. Соответственно отображаться должен только те товары (и категории, которым они принадлежат), которые соответствую выбранной характеристике.
    Посоветуйте куда копать, если можно поподробнее...Или может есть более изящный вариант реализации мультимагазинности?
  • 22 декабря 2015 г.
  • Виталий, смотря что считать нормальным вариантом. Если я не прав, то поправьте...
    Идея в том, чтобы использовать одну базу товаров в нескольких магазинах. Когда мы создаем магазины путем создания новых страниц и прикрепления к каждой из них модуля интернет-магазина, то мы получаем 2 магазина, у каждого из которых своя товарная база. Это было бы актуально если товары в каждом магазине были уникальны, но более 80% у каждого магазина будет пересекаться.
    Суть в том, что есть допусти 20к товаров и 100 магазинов в которых 4-15к товаров из этой базы. Задача раскидать их по магазинам и в каждом магазине свой ассортимент и цена.
Показывать по:

Новости

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

Форум