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

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

  • 31 января 2011 г.
  • Ну так. Простенький сайт с новостным блоком можно и на джумле слепить или ещё на чём нибудь. А вот магазин, уже проблематично там сделать. Главная фича этой цмс и есть магазин вот её и разнашивать надо, как следует :)
  • 17 января 2011 г.
  • То есть имеется товар у которого имеется несколько параметров
    шкаф
    - стандартной комплектации 5000
    - с подсветкой 1 5600
    - с подсветкой 2 5800
    - с позолоченой фурнитурой 6200
    или опции надо продавать отдельно?
    если как я описал то проблем то никаких переводишь и всё только когда дополнительную характеристику будешь создавать надо будет так и писать
    название: шкаф Тёмный квадрат
    параметр1: стандартной комплектации
    параметр2: с подсветкой 1
    параметр3: с подсветкой 2
    и т.д.
  • 20 января 2011 г.
  • Так тогда получается, то что вы пытаетесь назвать дополнительными параметрами таковыми не являются. Это дополнительные товары, и они продаются отдельно и имеют свою цену.
    У вас очень не простая задача и придётся здорово поломать голову и убить много времени, чтобы както сделать выбор дополнительных опционных товаров для потенциального покупателя ясным и простым.
    Простой способ, это сделать подкатегори в которые включать опционные товары а в основных товарах указывать ссылку что там надо выбрать к вашему товару обязательные штуки такие и можно ещё не обязательные такие.
    например:
    "Шкаф купэ 123"
    список дополнительных обязательных компонентов (фурнитура, стекло)
    список необязателных компонентов (подсветка, декор планки, декор панельи)
    както так.
  • 24 января 2011 г.
  • Да там всё нормально - надо просто грамотно подготовить выгружаемую в Яндекс информацию. Для этого просто надо грамотно заполнять каталог. Мы уже на этом собаку съели.
  • 25 января 2011 г. , редакция: 1295943466
  • Итак список советов на которые стоит обратить внимание при заполнении каталога:
    1. Не поленитесь запросите ТЗ у техподдержки Яндекс.Маркет на оформление заявок на интересующую вас категорию товаров. Потому что не всё описано в доках которые доступны прямо на их сайте. В последствии это поможет сэкономит кучу времни.
    2. Существует 2 формата записи XML блоков о предоставляемом товаре - выберите один чтобы потом не путатся и допилите руками в CMS код чтобы форматирование было строго по выбранному шаблону (/modules/shop/shop.yandex.php).
    3. Если требуестя исключить выгрузку категории то необходимо вложеные в неё товары тоже выключить а лучше на этапе заполнения не включать.
    4. Если вы не являетесь производителем товара который продаёте в магазине то перед заполнением каталога советую проштудировать официальный(ые) сайт(ы) производителей товаров чтобы определить список обязательных полей однозначно идентифицирующих тот или иной товар. Если у производителя есть Артикулы то это очень сильно облегчает задачу.
    5.Ну и очень внимательно заполняйте поля которые будут являться идентификаторами товара, потому как яндексоидные роботы сверяют их на сайте производителя. И если они не найдут соответствия то потом тех поддержке долго придётся доказывать что вы не верблюд :)
  • 11 января 2011 г.
  • Так смотри сам. Когда ты находишься в каталоге то существуют глобальные переменная окружения позиционирующие твоё положение. ID категории и уровень погружения внутрь и ещё ссылки на соседей этого уровня. И всё. Если тебе нужен список категорий, то придётся делать выборку категорий по которым ты хочешь осуществлять поиск ( возможно с учётом вложенности или на сколько глубоко ты хочешь погрузится).
    По умолчанию поиск работает от места нахождения. То-есть если у тебя есть 2 категории: Телефоны и Ноутбуки и ты находишься в категории телефоны, то ноутбук никакой найти не сможешь.
  • 04 апреля 2011 г. , редакция: 1301900964
  • Я в последнее время склоняюсь к тому чтобы модульные структуры образующие колонки оформлять не таблицей а DIV'ами прилепленными влево или вправо. Они начинают размазываться по ширине аккуратно заполняя пространство рабочей области под любое разрешение.
    Есть только небольшая проблемка с решением растяжки блока являющегося обёрткой для данной структуры повысоте но и она тоже решается :)
  • 06 апреля 2011 г. , редакция: 1302087225
  • Виталь сколько времени убил? Мог бы какую нибудь небольшую фишечку для магазина настроить. Меня ломает объяснять школьный курс информатики клиентам, если толку нет, то тогда я говорю, давайте я сам сделаю за денежку. У клиентов сразу все вопросы пропадают. Или даю ссылочку на материал по теме. Тут уместнее всего было послать на обалденный учебник по HTML сам его часто рекомендую студентам или начинающим проявляющим к этому делу интерес клиентам всё-таки, как никак не всё можно решить интегрированным в CMS редактором.
    1. http://www.postroika.ru/html/21step2.html
    циклы зачем они нужны и как их использовать.
    2. http://ab-w.net/PHP/php_loop.php
    Иещё одно замечание. Я предпочитаю дописывать таблицу до конца то-есть если у нас вдруг товары заканчиваются на первой колонке то необходимо вставить ещё одну пустую ячейку во вторую колонку или больше в зависимости от того сколько у нас всего колонок. Плюс всё-таки необходимо закрыть строчку коли она начата. Это необходимо чтобы таблица имела законченный вид. В выше указанном примере нет таких проверок и целостность таблицы может быть нарушена.
    aprofi (aprofi)Учи мат часть - удачи.
  • 20 апреля 2011 г. , редакция: 1303284810
  • хе хе я же говорил что таблицы -ЗЛО
    ну вот в принципе после цикла
    Код
    foreach($result["rows"] as $row) {
    ...
    }

    Надо ставить проверки на законченность структуры для правильной расстановки пипок нужен
    цикл ставим пипку пока их не будет 2 то {
    ещё <td></td>
    увеличиваем пипку на 1
    }
    после того как пипки рассравлены надо закрыть строку и таблицу
  • 01 ноября 2011 г.
  • Код
    <div id="clear"></div>

    Необходимый инструмент для борьбы с наездами блоков друг на друга.
    Если выше есть блоки у которых в стиляих например имеются float: left; или float: right; то идущие за ними блоки будут обтекать их. Вот чтобы не обтекали и ставится <div id="clear"></div> у которого есть свойство clear: both;
  • 03 ноября 2011 г. , редакция: 1320299538
  • Адски
    Смотри делаешь контейнер, который выравниваешь с помощью float: left;
    А дальше всё просто
    Код

    количество столбцов = х;
    цикл (перебрать все) {
    вывод 'открыть контейнер';
    вывод '[содержимое контейнера]';
    вывод 'закрыть контейнер';
    количество столбцов--;
    если (!количество столбцов) {
    количество столбцов = x;
    вывод '<div id="clear"></div>'; // супер инструмент :)
    }
    }

    Помоему достаточно просто и элегантно и не надо парится по поводу целостности таблицы, как в случае с <table>.
    Осталось алгоритм на РНР перевести :)
  • 16 декабря 2010 г.
  • 1. поменять шаблон отображения
    private function form($row, $result) поменять на private function form_($row, $result)
    private function form_($row, $result) поменять на private function form($row, $result)
    2. теперь в private function form($row, $result) кнопки убрать
    3. немного модифицировать способ отображения товаров внутри каталога
    здесь коментируй всё лишнее что ненадо public function list_($result)
    здесь тоже самое public function first_page($result)
    и приводи ссылку которая навешивается на картинку товара к виду который используется внутри товара.
    И всё большая часть твоей проблемы решена.
  • 13 декабря 2010 г.
  • Полез в файл .../modules/shop/shop.yandex.php чтобы выяснить для себя пару моментов, и в функции private function get_offers() нашёл следующее:
    Код

    ...
    if(empty($yandex["typePrefix"]) || empty($yandex["vendor"]) || empty($yandex["vendor"])
    || empty($yandex["vendorCode"]) || empty($yandex["vendorCode"]) || empty($yandex["model"]))
    {
    ...


    Внимание вопрос! Зачем оно так написано, в плане проверки масива $yandex на пустоту двух значений элементов дублируется. Может быть тут что-то другое имелось в виду? (скопировали и забыли поправить)
  • 10 декабря 2010 г.
  • Да - только вот придётся Exсel файлы готовить чтобы было красиво.
    То что дают нам наши клиенты, я даже не представляю возможным это залить таким образом.
    Нужен какой-то стандарт оформления что в принципе невозможно объяснить клиентам. Нет есть те которые побольше и имеющие в штате программиста могут себе это позволить сделать, но в большинстве те которые приглашают конфигураторов на час для поправки каких нибудь мелких вещей на это скорее всего не пойдут.
    Мы тоже думали над этой возможностью но на данный момент эта задача с теми исходными данными которые у нас имеются невыполнима :)
  • 25 ноября 2010 г. , редакция: 1290693574
  • Может уже не актуально но всёже.
    После обновления с 4.2 до 4.3.2 (от 11.11.2010) при входе в панель администратора на рабочей машине выпадает
    Код

    Warning: Unknown column 'created' in 'where clause' query: DELETE FROM diafan_log WHERE created<'1290692859' in Z:\home\diafan\www\includes\database.php on line 282

    Warning: Unknown column 'count' in 'field list' query: SELECT `count` FROM diafan_log WHERE ip = '127.0.0.1' in Z:\home\diafan\www\includes\database.php on line 282

    Warning: Cannot modify header information - headers already sent by (output started at Z:\home\diafan\www\includes\database.php:282) in Z:\home\diafan\www\includes\core.php on line 15


    после чего забиваю URL://diafan/admin
    и попадаюуже в админку.
  • 26 ноября 2010 г.
  • Этот ресурс претерпевал перенос 2 раза :) На каждом переносе выкидывался самопальный функционал по мере ненадобности так что вот.
    Наверное вот так оно и есть как говорите.
  • 23 ноября 2010 г.
  • Вобщем тема такая после апдейта с 4.2 до 4.3.2 случилось следующее.
    Перестали подключаться дополнительные параметры товаров (обновлённую базу не вливал в новую версию).

    Код

    private function get_param($id, $function = "id")
    {...
    $result_el = DB::query("SELECT value as rv, [value], param_id FROM {param_element} WHERE element_id=%d AND module_name='shop'", $id);
    while ($row_el = DB::fetch_array($result_el))
    {
    $values[$row_el["param_id"]][] = $row_el["value"];
    $rvalues[$row_el["param_id"]][] = $row_el["rv"];
    }

    до сих пор всё в порядке $values[$row_el["param_id"]] получает то что надо а вот дальше
    Код

    $result = DB::query("SELECT p.id, p.[name], p.type FROM {param} as p "
    ." INNER JOIN {category} as c ON c.module_name='shop' AND c.element_id=%d"
    ." INNER JOIN {category} as cp ON cp.module_name='shopparam' AND (cp.cat_id=c.cat_id OR cp.cat_id=0) AND cp.element_id=p.id" ...);

    $result походу не получает ничего ибо цикл
    Код

    while($row = DB::fetch_array($result)) {
    ...
    }

    не выполняется

    Что делать?
  • 23 ноября 2010 г.
  • Отвечу сам - где-то я об этом уже писал по этому поводу.
    Не надо лезть в код, тем более лишний раз в Модел. Прикол в тем, что поменялся способ хранения дополнительных характеристик - надо зайти в дополнительные характеристики и ещё раз ручками назначить их по новой.
  • 22 ноября 2010 г.
  • Объясню чем я сейчас занят. (не помню может где-то уже упоминал)/В общем всё про тот же avtoremont12.ru.

    Сейчас нет возможности добавлять картинки к разделам каталога, их можно добавлять только к товарам.
    Для появления этой функциональности я сделал табличку и дописал немного кода в модули и стандартные подключаемые библиотеки.

    Теперь после обновления версии движка всё это пришло в негодность так как поменялось множество механизмов и теперь всё это надо восстанавливать.

    Для старой версии я вычислял предков и волочил всю эту информацию с собой до точки выгрузки хотя по большому счёту нужно было только имя файла картинки.

    Теперь же я смотрю и вижу, что удобнее не таскать всё это барахло с собой а дополнить массив path элементом [img]. И потом еси надо это можно както эксплуатировать.

    Зачем это надо: (на примере всё того же самого avtoremont12.ru)
    Каталог
    Уровень [0]: тип товара (Шины, Диски - какбы картинка не нужна ну или разве что какая нибудь махонькая иконочка)
    Уровень [1]: Брэнды (вобщем есть какаято марка(завод), который имеет своё лого, которое является более яркой ассоциацией нежели просто слово. Неплохо было бы его использовать и как можно чаше).
    Уровень [2]: Модельный ряд ( картинка для группы товаров которые отличаются лишь физическими величинами (диаметр, ширина, толщина и тд). Для всех вложенных подгрупп и товаров картинка едина и не имеет смысла её вставлять для каждого вложенного товара. Поэтому удобно вставить её для категории.)
    Уровень[3]: группа товаров со стандартным набором физических величин (содержит товары, которые различаются ценой из за дополнительных характеристик или комплектации)

    Так вот находясь на странице товара на данный момент. При такой организации мы не имеем доступа к картинкам товара и бренду а так хотелось бы.

    Пы.Сы. Делаю это последний раз и двиг обновлять небуду, потому как всё слетит к чёртовой матери, а по новой тратить время на добавление этого функционала, но для новой версии не целесообразно. Да и если честно переехать пришлось только из за того, что продвигать магазин было нетривиальной задачей для старой версии (сейчас проще спасибо за добавленый функционал :) ). Да и если обновлять через авто-обновление, то это надо делать на рабочем хосте, а это не есть гуд по понятным причинам. А для тестового хоста, нет такой возможности поэтому переезд делается на рабочей машине с последующим заливом. Блин как-то много буков получилось :)
  • 22 ноября 2010 г. , редакция: 1290419797
  • ну это опять же хак :) я до этого чегото не дошёл и сделал по своему .
    Да и я так полагаю что получить доступ к прикреплёной таким образом картинке просто так не получится, придётся работать напильником.
    Спасибо, что сказали, спасибо что сделали. А вот если б был публичный список новых возможностей и исправлений то таких глупых вопросов я бы наверное не задавал :)
  • 19 ноября 2010 г.
  • Notice: Undefined offset: 38 in Z:\home\diafan\www\modules\news\news.model.php on line 676
    Код
    $this->result["allnews"]["link"] = $this->diafan->rewrites[$site_id]["rewrite"] ? $this->diafan->rewrites[$site_id]["rewrite"].'/' : '';

    заменить на
    Код
    $this->result["allnews"]["link"] = isset($this->diafan->rewrites[$site_id]["rewrite"]) ? $this->diafan->rewrites[$site_id]["rewrite"].'/' : '';
  • 22 ноября 2010 г.
  • А если мне к примеру надо сделать это не верно, например для того чтобы разделить новости от обычных объявлений. Объявления скажем не нуждаются в указании даты а вот новости нуждаются. То тогда как? Согласитесь удобно же использовать для объявлений тот-же модуль Новости только id родителя надо изменить а функционал останется тот-же. :) Вот именно по этому у нас вылазит предупреждение и я его полечил таким вот способом.
Показывать по:

Новости

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

Форум