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

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

  • 09 февраля 2017 г.
  • Конкретно по карточке товара: shop.view.id.php - это шаблон оформления карточки товара.
    В этом файле и вставляете в разметку шаблонный тег вывода динамического блока туда, где вам необходимо.
  • 20 января 2014 г.
  • "Стоимость адаптации готового HTML-шаблона не должна перевалить тыщ за 5."
    Ну не скажите, Виталий. Наверное стоит уточнить, ведь бывают проекты, где по 10-20 шаблонов страниц для одного сайта. Да и интеграция тоже бывает поверхостной, бывает и очень глубокой))) Поэтому если все более менее стандартно, то скорее всего вы правы. А вот более серьезные проекты в 5 никак не уложатся.
  • 07 ноября 2013 г.
  • Да в принципе все относительно просто, берем стандартный функционал и дорабатываем под свои нужды.
    Например чтобы сделать ползунок цены (от и до) можно взять slider UI ( http://jqueryui.com/slider/ ). Чтобы сделать подбор по характеристикам - надо создать необходимые вам характеристики и настроить отображение. Ну и оформить под ваши нужды.
    При этом в 95% случаев достаточно встроенного функционала Диафана (как пример http://zemmo.su/nozhi/ )
  • 15 января 2014 г. , редакция: 1389792022
  • Роман.
    Идем читать документацию, например http://jqueryui.com/slider/#range . Смотрим как все устроено.
    В диафане уже есть почти все необходимые файлы поэтому копировать их не следует, все что нам необходимо сделать:

    1) Открываем shop.view.show_search.php (или предварительно создав шаблон свой) и находим там участок кода отвечающий за вывод цены (99 строка по умолчанию) и меняем

    if (!empty($result["price"]))
    {
    echo '<div class="shop_search_price">
    <span class="infofield">'.$this->diafan->_('Цена').':</span>
    '.$this->diafan->_('от').' <input type="text" name="pr1" size="5" value="'.$result["price"]["value1"].'" class="inpnum"> '
    . $this->diafan->_('до').' <input type="text" name="pr2" size="5" value="'.$result["price"]["value2"].'" class="inpnum">
    </div>';
    }

    на

    if (!empty($result["price"]))
    {
    echo '<div class="formCost">
    <label for="minCost">
    <span class="infofield">' . $this->diafan->_('Цена') . ':</span>
    ' . $this->diafan->_('от') . '
    </label>

    <input type="text" name="pr1" size="5" id="minCost" value="0" value="' . $result["price"]["value1"] . '" class="inpnum">

    <label for="maxCost"> '. $this->diafan->_('до') . '</label>
    <input type="text" name="pr2" id="maxCost" value="12000" size="5" value="' . $result["price"]["value2"] . '" class="inpnum"></div>


    <div class="sliderCont">
    <div id="slider"></div>
    </div><br>
    ';
    }


    2) Далее открываем файл шаблона (по умолчанию shop.php) и вставляем перед </head> скрипт от slider ui

    <script type="text/javascript">jQuery(document).ready(function(){

    /* слайдер цен */

    jQuery("#slider").slider({
    min: 0,
    max: 12000,
    values: [0,12000],
    step: 100,
    animate: 1,
    range: true,
    stop: function(event, ui) {
    jQuery("input#minCost").val(jQuery("#slider").slider("values",0));
    jQuery("input#maxCost").val(jQuery("#slider").slider("values",1));

    },
    slide: function(event, ui){
    jQuery("input#minCost").val(jQuery("#slider").slider("values",0));
    jQuery("input#maxCost").val(jQuery("#slider").slider("values",1));
    }
    });

    jQuery("input#minCost").change(function(){

    var value1=jQuery("input#minCost").val();
    var value2=jQuery("input#maxCost").val();

    if(parseInt(value1) > parseInt(value2)){
    value1 = value2;
    jQuery("input#minCost").val(value1);
    }
    jQuery("#slider").slider("values",0,value1);
    });


    jQuery("input#maxCost").change(function(){

    var value1=jQuery("input#minCost").val();
    var value2=jQuery("input#maxCost").val();

    if (value2 > 12000) { value2 = 12000; jQuery("input#maxCost").val(12000)}

    if(parseInt(value1) > parseInt(value2)){
    value2 = value1;
    jQuery("input#maxCost").val(value2);
    }
    jQuery("#slider").slider("values",1,value2);
    });});</script>

    Этот скрипт можно вынести и в отдельный файл.

    Естественно в шаблоне должен быть шаблонный тег вывода поиска <insert name="show_search" module="shop">
    На рисунке 1 видно что получилось: слайдер работает, осталось только покрасить ленту - по умолчанию она белая и ее не видно. Открываем jquery-ui-1.8.18.custom.css и находим .ui-widget-header (65 строка по умоланию) - там меняем цвет на свой + оформление .ui-slider (блок начиная с 402 строки). То есть оформляем уже как нам надо. Впринципе все.
    Замечу, что я описал простой способ, когда минимальные и максимальные значения слайдера задаются вручную (в скрипте 0 и 12000). Все действия проводил на чистой системе, параллельно данному описанию, чтобы постараться дать работающий код.
    Автоматический вывод мин и макс значения по цене - это уже отдельная тема.
  • 07 октября 2013 г.
  • Каталог недвижимости однозначно стоит делать на модуле Каталог, в нем намного больше функциональных возможностей. Пусть на данный момент и все что есть в каталоге не требуется, зато в будущем встроить необходимый функционал будет намного легче. А что касается переименования: есть специальная страница в системе: site.ru/admin/adminsite - вот там то можно поправить названия модулей и тд
  • 23 июля 2013 г.
  • Если я правильно понял вашу задачу: идем в shop.view.list.php (шаблон списка) находим конструкцию
    //вывод кнопки "Купить"
    $this->get('buy_form', 'shop', array("row" => $row, "result" => $result));

    Эта конструкция означает что для вывода используется файл shop.view.buy_form.php (он там же где и список шаблона).
    Далее мы можем дублировать этот файл и назвать его shop.view.buy_form_spisok.php и в конструкции
    //вывод кнопки "Купить"
    $this->get('buy_form_spisok', 'shop', array("row" => $row, "result" => $result));

    Таким образом вы можете менять вывод кнопки купить и цены и количества непосредственно в файле shop.view.buy_form_spisok.php

    Аналогично и в карточке товара.
  • 23 июля 2013 г.
  • Да - конечно, для карточки например можно сделать
    $this->get('buy_form_kartochka, 'shop', array("row" => $row, "result" => $result)); и в соответствующем файле править. Кроме того, можно и для блока товаров делать аналогично.
    То есть принцип простой: дублируем файл shop.view.buy_form.php в shop.view.buy_form_name.php и правим по необходимости. Далее уже во view файлах (список - первая страница магазина - карточка - блок) подключаем нужную нам конструкцию
    $this->get('buy_form_name', 'shop', array("row" => $row, "result" => $result));
  • 23 июля 2013 г.
  • В теме про разное оформление - я вам написал о конструкции
    //вывод кнопки "Купить"
    $this->get('buy_form', 'shop', array("row" => $row, "result" => $result));

    Вы ее просто заккоментируйте в файле шаблона списка и все
  • 06 мая 2015 г.
  • Если кому надо - то строки 1905
    ." GROUP BY s.id "

    ." ORDER BY ".($this->diafan->_route->sort ? $this->sort_config['sort_directions'][$this->diafan->_route->sort] : 's.prior DESC, s.created DESC'),

    меняем на

    ." GROUP BY s.id "

    ." ORDER BY ".($this->diafan->_route->sort ? $this->sort_config['sort_directions'][$this->diafan->_route->sort] : 's.prior ASC, s.created ASC'),

    и объявления сортируются в обратном порядке.
  • 22 апреля 2013 г.
  • Для меня диафан является основной системой. 99% сайтов разрабатываем именно на любимой cms. В последнее время так уж получается, что становится все больше и больше функционала в системе (порой спорного) - это хорошо. Но зачастую функционал этот оказывается по факту нерабочим... Ошибки, баги, мелкие правки и тд - все это становится неотъемлимой частью новых версий диафана. Последний пример: функционал редиректов... Сделали, в системе присутствует, уже почти как месяц версия 5.2 - в итоге столкнувшись впервые и опробывав функционал обнаружил ошибку - отправил тут же в ТП ( опять таки в последнее время отправляю частенько). Оказалось что просто не работала даже функция сохранения...
    Вот и встает вопрос: что дальше? меня лично как пользователя системы очень настораживают постоянные ошибки в системе, недочеты и тд. Может быть стоит разработчикам подумать о векторе обновлений? Может не стоит при каждом обновлении внедрять все новый и новый функционал, а сосредоточится на стабильности? У кого какие идеи на этот счет, хотелось бы услышать мнения и пользователей и разработчиков.

  • 22 апреля 2013 г.
  • Понятно, что без ошибок никуда, однако я в корни несогласен с тем чтобы с помощью пользователей это все происходило. Нет, конечно без пользователей никуда, с помощью пользователей система совершенствуется. Но все-таки я считаю, что процент ошибок найденных пользователями надо сводить к минимуму. Это все-таки коммерческий продукт.
    Что касается хотелок, которые вы "должны" реализовывать: лично я думаю что не стоит в обязательном порядке реализовывать все хотелки лишь потому что проголосовало больше всех человек. Порой проскальзывают действительно "Хочу ракету" и набирают немало голосов. Означает ли что это действительно необходимо? Не думаю. Ну набрало предложение полсотни голосов, означает ли это что надо реализовывать в обязательном порядке? Ведь многие, уверен, жмут плюсы просто ради того, чтобы побольше функционала было, не вчитываясь в суть предложения, не внося свои мысли и идеиб предложения... Возможно стоит учитывать "голосования" как некий вектор или сигнал, затем уже вы как разработчики и профессионалы принимаете окончательное решение о внедрении того или иного функционала в систему.
    Все это я тому чтобы система приходила к пользователю в стабильном виде изначально. Лично я готов пожертвовать новым функционалом системы, ради этого.
    Прошу команду диафана не воспринимать мои сообщения как обвинения и тд. Все это от желания сделать систему лучшей или по крайней мере двигаться именно к этому.
Показывать по:

Новости

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

Форум