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

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

  • 06 июня 2013 г.
  • Есть более быстрое решение.
    1) Создаем в таблице diafan_shop_category новое поле count_good типа int.
    2) Обновлем количесвто товаров в категории запросом в базу данных
    Код
    update `diafan_shop_category` c set count_good = (select count(r.id) from diafan_shop_category_rel r where r.trash='0' and c.id=r.cat_id)

    в дальнейшем обновлем по крону или по кнопке из админки
    3) В модели магазина shop.model.php в методе first_page_elements_query добавляем в запрос вывод нашего нового поля
    4) Во вьюшке modules\shop\views\shop.view.first_page.php выводим это поле
  • 11 июля 2012 г.
  • Для редактирования использовал VirtualDub, если итоговое видео было приемлемых размеров, то без конвертирования сразу загружал на Vimeo, оттуда брал код для размещения на сайте.
  • 11 июля 2012 г.
  • Сам вимео поддерживает очень много форматов и достаточно большие файлы принимает, сам все сконвертирует в свой формат. Но если хочется сберечь время или много требуется файлов загружать, то
    Вот этим http://www.koyotesoft.com/video-software/free-video-converter.html конвертером можно преобразовать видео.
  • 11 июля 2012 г.
  • Владимир, знаки вопроса обычно появляются при неправильно настроенном соединении с базой, или неправильном импорте.
    Если дело не в базе, то вопросов быть не должно, должны быть кракозяблы, которые при переборе кодировок в браузере в конце концов превратятся в кириллицу. Вполне может быть что вы импортируя из локальной базы в текстовый файл сохранили не в той кодировке в блокноте.
  • 11 июля 2012 г.
  • Это более высокий уровень, я имел ввиду настройки PHP соединения, есть еще настройки кодировки у самой базы
    http://www.phpfaq.ru/charset
    Изначально на хостинге стоят правильные настройки, бывают только редкие исключения.
  • 05 октября 2012 г.
  • Посмотрел как сайт загружается http://clip2net.com/s/2mK2K
    Сама страница всего 500мс отдается в браузер. Больше всего времени грузятся картинки слайдера. 3 секунды максимально.
    Причем канал у меня хороший.
    Если уменьшение не помогает, то дело остается в хостинге, сервер слишком загружен. Протестируйте скорость отдачи файлов вашим хостером.
    Может быть заказчик имеет ввиду что анимация в слайдере слишком медленно работает? Тогда это уже вопрос к разработчикам слайдера.
  • 24 апреля 2012 г.
  • Ищите вот этот код в modulesshopshop.model.php
    Код
    $this->result["img"] = $this->diafan->_images->get($row["id"], $row["name"], $this->diafan->module);


    заменяете на
    Код
    $this->result["img"] = $this->diafan->_images->get($row["id"], empty($row["title_meta"])?$row["name"]:$row["title_meta"], $this->diafan->module);


    если нужно для категорий замена примерно такая же
  • 16 апреля 2012 г.
  • в 5й версии для стандартного шаблона нужно изменить файл modulesmenuviewsmenu.view.show_menu.php строка 59
    Код
    if (
    // на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
    (!$row["active"] || $result["current_link"])

    // влючен пункт "Не отображать ссылку на элемент, если он имеет дочерние пункты"
    && (!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
    )

    привести к коду
    Код
    if (
    // на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
    ((!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
    )


    там же строка 88
    Код
    if (
    // на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
    (!$row["active"] || $result["current_link"])

    // влючен пункт "Не отображать ссылку на элемент, если он имеет дочерние пункты"
    && (!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
    )


    заменяем на
    Код
    if (
    // на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
    ((!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
    )
  • 26 марта 2012 г.
  • у моего клиента подобное было, но там много сайтов заразило, пришлось писать скрипт удаления. Вирус отличался последней строкой каждого js приерно так
    Код
    var cbf0103="";function m411b38effa(){

    названия переменных и функции в каждом файле разные.
    Скрипт ищет в последней строке "var ", если находит, то делает резервную копию файла и удаляет строку.
    Для лечения положите в корень сайта av.php и запустите из браузера. Запустите только один раз, иначем могут быть удалены нужные части js.
  • 15 марта 2012 г.
  • Из трех пунктов отличается от реализации в диафане только первый "мелкое превью в списке"
    Возьмем то что делается для админки и лежит в папке userfiles/photo/small/
    для этого в модуле изображений
    на 48 строке modules\images\images.inc.php добавим дополнительный параметр
    Код
    public function get($id, $alt, $module_name, $count = 0, $common_link = 1, $is_category = FALSE, $get_small = false)

    и на 80й строке добавим условие
    Код

    $img["src"] = BASE_PATH.USERFILES.'/'.$module_name.($get_small?'/small/':'/medium/').$row["name"];


    дальше в функции get_elements в modules\shop\shop.model.php на 141 строке добавим установку этого параметра
    Код

    $row["img"] = $this->diafan->_images->get($row["id"], $row["name"], 'shop',
    $this->diafan->configmodules("list_img", "shop", $row["site_id"]) == 1 ? 1 : 0,
    $row["link"],true);
  • 30 января 2012 г.
  • судя по строке 339 modules\order\order.ajax.php
    Код
    $basket = $this->diafan->_tpl->get('table_basket', 'order', $result_basket);

    для вставки в письмо используется метод table_basket вьюшки modules\order\order.view.php 207 строка
    можешь создать свой метод на основе копии этого и использовать его при формировании письма
  • 23 декабря 2011 г.
  • Сталкивался с такой проблемой, скрипту отображающему список файлов не хватает памяти для создания превью картинок. Попробуйте увеличить ограничение памяти memory_limit в настройках PHP на хостинге, это требуется только для первого запуска, потому что именно при первом создаются превью всех файлов в папках.
    Если нет возможности изменить ограничение, то нужно заменить изменение размеров на копирование.
    В файле adm\htmleditor\tiny_mce\plugins\images\connector\php\index.php 798 строка
    Код
    $t = new Image_Toolbox($path.'/'.$filename);
    $t->newOutputSize($width, $height, $mode, false, '#FFFFFF');
    $t->save($path.'/.thumbs/'.$md5.'_'.$width.'_'.$height.'_'.$mode.'.jpg', 'jpg', 80);

    заменить на
    Код
    copy($path.'/'.$filename,$path.'/.thumbs/'.$md5.'_'.$width.'_'.$height.'_'.$mode.'.jpg');
  • 20 марта 2013 г.
  • Могу поделиться кодом для переноса статей, без сохранения Url
    Код
    -- перенос категорий статей
    INSERT INTO diafan_clauses_category
    ('name1', 'act1', 'map_no_show', 'parent_id', 'count_children',
    'site_id', 'keywords1', 'descr1', 'title_meta1', 'anons1', 'text1', 'sort',
    'timeedit', 'admin_id', 'access', 'theme', 'view', 'trash')
    VALUES
    select
    (c.name, '1', '0', 0, 0, 4, '', '', '', '', '', 0, 0, 0, '0', '', '', '0')
    from jos_categories as c
    -- перенос статей
    INSERT INTO diafan_clauses ( 'name1', 'act1', 'map_no_show', 'created', 'date_start', 'date_finish', 'cat_id', 'site_id', 'keywords1', 'descr1', 'title_meta1', 'anons1', 'text1', 'prior', 'timeedit', 'admin_id', 'access', 'theme', 'view', 'trash')
    SELECT c.title, '1', '0', 1359403200, 0, 0, (select cc.id from diafan_clauses_category cc join jos_categories jc on jc.name=cc.name1 where jc.id=c.catid) as cat_id
    , 4, '', '', '', c.introtext, c.fulltext, '0', 1359478986, 1, '0', '', '', '0'
    FROM jos_content as c

    -- создание связей между статьями и категориями
    INSERT INTO diafan_clauses_category_rel ('element_id', 'cat_id', 'trash')
    select c.id, c.cat_id, '0' from diafan_clauses c


    Есть наработки по переносу товаров, категорий, картинок из Joomla Virtuemart в Diafan. Но это уже как услуга.
  • 29 ноября 2011 г.
  • Из-а того что в функции перелинковки
    Код
    include_once(ABSOLUTE_PATH.'keywords.php');

    слова подгружаются только один раз, для первой новости, например. При следующих входах в функцию $keywords не подгружаются.
    Исправляется добавлением в core.php функция key_values
    Код
    include_once(ABSOLUTE_PATH.'keywords.php');
    global $keywords;

    и в keywords.php
    Код
    global $keywords;

    перед присвоением значений.
    Еще советую преобразовать в UTF-8 файл keywords.php
  • 20 февраля 2012 г.
  • Вот мой сниплет на данный случай
    добавить в конец js\user-func.js
    Код
    (function($)
    {
    /**
    * Ability for placeholder
    * usage: <input placeholder="any text">
    */
    $(function()
    {
    // if modernizr is available replace by var placeholder_support = Modernizr.input.placeholder;
    var placeholder_support = !!('placeholder' in document.createElement( 'input' ));
    if (!placeholder_support)
    {
    var inputs = $('input[placeholder]'),
    len = inputs.length,
    input,
    placeholder_class = 'placeholder';
    while (len--)
    {
    inputs[len].value = inputs[len].value ? inputs[len].value : inputs.eq(len).addClass(placeholder_class).attr('placeholder');
    inputs.eq(len).focus(function()
    {
    var th = $(this);
    if (this.value == th.attr('placeholder'))
    {
    th.removeClass(placeholder_class);
    this.value = '';
    }
    }).blur(function()
    {
    var th = $(this);
    if (this.value == '')
    {
    th.addClass(placeholder_class);
    this.value = th.attr('placeholder');
    }
    });
    (function(input)
    {
    $(input.form).bind('submit', function()
    {
    if (input.value == $(input).attr('placeholder')) input.value = '';
    });
    }(inputs[len]));
    }
    }
    });
    }(jQuery));


    и в файле modules\search\search.view.php
    исправить метод show_search
    Код

    echo '
    <div class="top_search">
    <form action="'.$result["action"].'" method="get">
    <input type="text" name="searchword" value="" placeholder="Поиск" class="input_search" >
    <input type="submit" value="Найти" class="submit_search">
    <br class="clear" />
    </form>
    </div>';


    Преимущество данного метода в том что javascript функционал задействуется только в случае если браузер не поддерживает атрибут placeholder для полей ввода.
  • 14 ноября 2011 г.
  • Cмотрите модуль paginator, а конкретнее paginator.inc.php метод config
    Самому еще предстоит это реализовать, а пока на словах. На странице списка товаров сделать выпадающее меню, значение которого берется из сессии, при смене значения пользователем отсылать его методом post на туже страницу, а в методе config перехватить данные и вписать в сессию. Если в сессии записан лимит, то назначить его, если нет, поставить дефолтный у модуля $this->nastr = $diafan->configmodules("nastr");
  • 10 ноября 2011 г.
  • В страницу на главной, вставьте HTML код <insert name="show_search" module="shop">
    В конкретной характеристике в админке управления магазином есть опция "Использовать в форме поиска" отмечайте галочкой и она появится в поиске.
  • 07 ноября 2011 г.
  • нет тега tag_level_start_1 и tag_level_end_1 а про будущее проще всего использовать инкремент Increment, это номер пунка в меню, а стиль к нему поставь .s0, .s1 и тд
    <insert name="show_block" module="menu"
    id="1"
    tag_level_start_1="[ul]"
    tag_start_1="[li class='sIncrement']"
    tag_end_1="[/li]"
    tag_level_end_1="[/ul]"
    >
  • 21 октября 2011 г.
  • Делал подобное. Найди в modules\basket\basket.view.php
    <input type="checkbox" name="del' . $row["id"] . '" value="1">
    замени на <a href="?del='.$param.'" rel="'.$row["id"].'">удалить</a>

    и там же чуть выше в начало foreach ($result["rows"] as $row)
    определение этой переменной
    $param=$row["id"];

    и
    вставь в начало функции
    form() в файле modules\basket\basket.model.php
    код
    if(isset($_GET['del']))
    {
    list($good_id,$param)=explode('_',$_GET['del']);
    unset($_SESSION["basket"][$good_id][$param]);
    }
  • 13 октября 2011 г.
  • Вот пример из шаблона версии 4.5
    <insert name="show_block" module="menu"
    id="2"
    tag_level_start_1="[ul]"
    tag_start_1="[li]"
    tag_end_1="[/li]"
    tag_level_end_1="[/ul]"
    tag_level_start_2="[ul class='podmenu']"
    tag_start_2="[li]"
    tag_end_2="[/li]"
    tag_level_end_2="[/ul]"
    >
Показывать по:

Новости

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