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

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

  • 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'),

    и объявления сортируются в обратном порядке.
  • 23 апреля 2013 г.
  • ну вообще вебэффектор... почему не руки, сеопульт и тд? Системы разные есть, почему именно вебэффектор (может отчисляет % диафану))). А если серьезно, считаю встраивание таких сервисов неоднозначных в коробку CMS уж точно не первостепенным делом. Да и сервисы такие по сути к CMS отношения не имееют. Ведь никому же не придет в голову встраивать Метрику или Аналитикс в систему? или Директ и Адсенс?
Показывать по:

Новости

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