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

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

  • 24 августа 2016 г.
  • Кстати, может сделать кнопку "Фу"? Которая будет отминусовывать рейтинг?
    А еще можно учитывать рейтинг того, кто ставит "Спасибо", чтобы если обычный человек ставит +, то +0.5, если рейтинговый, то +1, а если желтая медалька ставит +, то +2?
  • 22 августа 2016 г.
  • Работать надо с апачем (или нжинксом), видимо, он эти символы на уровне сервера обрабатывает, как служебные и до htaccess и CMS дело не доходит .
    Чаще всего плюсы Апачем интерпретируются как пробелы и устраняются.
    Попробуйте запросить существующую страницу сайта по её адресу и с плюсами site.ru/catalog+++/, если корректно ответит site.ru/catalog/ значит точно апач рубит плюсы
  • 23 августа 2016 г.
  • Цитата
    Не, это не в GET это именно в чпу.
    А GET - это не ЧПУ? Любой адрес с помощью mod_rewrite превращается в GET rewrite.

    Попробуйте сами на любом сайте на DIAFAN.CMS, страница site.ru/news/ = site.ru/?rewrite=news/

    Всё, что приходит в адрес после корня домена, вся текстовая строка с помощью mod_rewrite (плагина апача) передается в одну единственную переменную $_GET["rewrite"].
    DIAFAN.CMS работает с этой переменной, разбирает её, ищет в БД совпадения ЧПУ и т.д.

    Не надо искать подвоха на стороне CMS, это вообще не там. Механизм примитивнейший донельзя:
    1. Вы запросили site.ru/adres_stranicy/bla-bla/
    2. Сервер, в лице mod_rewrite превратила это в конструкцию site.ru/?rewrite=adres_stranicy/bla-bla/ и передала в DIAFAN.CMS
    3. DIAFAN.CMS отбрасывает окончание "/" (согласно настройкам сайта), и идет в БД искать страницу со строкой adres_stranicy/bla-bla. Находит - выводит. Не находит - 404.
    Всё!

    Теперь другая ситуация:
    1. Вы запрашиваете site.ru/adres+stranicy/bla+bla/
    2. Сервер, в лице mod_rewrite превратила это в конструкцию site.ru/?rewrite=adresstranicy/blabla/ и передала в DIAFAN.CMS
    3. DIAFAN.CMS отбрасывает окончание "/" (согласно настройкам сайта), и идет в БД искать страницу со строкой adresstranicy/blabla. И не находит, так как в БД указано adres+stranicy/bla+bla!
    Вот Вам и 404!

    То есть, роль DIAFAN.CMS тут минимальна: взять строку и искать её в БД. И если Апач режет плюсики, и подсовывает CMS-ке коцанную строку, извините.

    Я поэтому и говорю,
    Цитата

    Код
    <?php
    echo $_GET["a"];
    ?>

    и запрашиваете site.ru/1.php?a=aaa+aaa
    И смотрите, что выходит.

    Если плюсик не выходит, идете в ТП хостинга, и просите сконфигурировать Апач так, чтобы выходил. Как только этот скрипт 1.php начнет выдавать строку с +, заработает и ЧПУ с плюсиками в DIAFAN.CMS
  • 18 августа 2016 г.
  • Конечно, вероятность того, что сторонний разработчик исчезнет выше, чем вероятность нашего исчезновения, но к шаблонам не нужно относиться, как к бриллиантам или недвижимости. Это же стартовый "набор" для запуска сайта. Вы купили шаблон, он должен запуститься на актуальной версии цмс, Вы получаете сайт, всё. В течение месяца можно разработчику косяки какие-то предъявить. А далее уже никаких вопросов, сайт работает, поддерживайте его сами.
    Безусловно, никакой вечной пожизненной и бесплатной поддержки единовременая плата за шаблон не подразумевает.
    Да, были неприятные недоразумения с одним из первых разработчиков, первый блин комом, но жизнь продолжается. Проблема была в том, что разработчик слишком сильно перерабатывал дизайн, не всегда учитывая и обеспечивая дополнительную функциональность системы, которая вылезала косяками. Мы его шаблоны сняли с продажи.
    Сейчас в аддонсах есть много шаблонов других разработчиков, у которых есть продажи и нет претензий. Читайте отзывы, смотрите демы. В любом случае, страшного ничего нет, не машину же покупаете.
  • 24 августа 2016 г.
  • Конечно, нет, это не товар. Это услуга. Услуга верстки, интеграции, установки.
    Как подстричься в парикмахерской, сделать укладку. Вам красоту навели, а дальше сами будьте любезны причесывайтесь. Претензии принимаются только пока Вы в кресле сидите. А бегать потом год в парикмахерскую "ой, чё-та я оброс, ну-ка подровняйте меня бесплатно, что вообще за херня?" это бред.
  • 24 августа 2016 г. , редакция: 1472023059
  • Дмитрий!!! Весь сайт addons.diafan.ru строился вокруг этой страницы: http://addons.diafan.ru/o-sayte/ !!!
    Цитата
    Компания Диафан не несет ответственности за дополнения, загруженные партнерами. Техническая поддержка таких дополнений осуществляется их разработчиками. Условия поддержки своих дополнений каждый партнер определяет сам.

    Сначала была эта страница и этот текст, а затем были шаблоны!

    П.С. Так и не понял, о чем речь, о какой оценке и о какой позиции идет речь на скринах...
  • 24 августа 2016 г.
  • Цитата
    шаблоны от сторонних разработчиков вы считаете левыми и любые вопросы с ними будут проходить мимо ушей тех.поддержки.
    Об этом Вам все уже сказали не раз за полгода как минимум! Все это знают, понимают, и это логично! Вы один, что ли, считали, что мы должны годами поддерживать и бесплатно дорабатывать шаблоны, за которые другие люди получили деньги??? Это даже не смешно.
    Более того! Такой поддержки Вы и по нашим шаблонам не получите! Сейчас получается, что наши шаблоны продаются, поэтому Вы всегда можете скачать обновленный шаблон в кабинете. Но это не поддержка именно Вашего того самого шаблона, купленного год назад! Если мы снимем его с продажи и выйдет новая сборка CMS, на которую этот шаблон не встанет, мы ничего дорабатывать не будем!
  • 24 августа 2016 г.
  • Этот вопрос тоже давным давно был разжеван.
    Он вынесен в FAQ
    Цитата
    Наличие лицензии проверяется раз в сутки нашим сервером, более сайт не беспокоится. Блокировка сайта происходит только в одном случае, если наш сервер сообщает об отсутствии лицензии. Если наш сервер не доступен, работоспособность сайта не нарушается.

    То есть!
    Если пропадет (исчезнет, закроется) Диафан, все сайты будут освобождены от гнёта! Тотальная свобода!
  • 18 августа 2016 г.
  • Цитата
    в админке выдает ошибку:
    Где именно в админке? Сразу выдает, или после каких-то действий?
    И где ошибка-то? У Вас только скрипты перечисляются и функции. Ошибки никакие не описаны
  • 11 августа 2016 г. , редакция: 1470912866
  • Степан, тут важно понимать логику системы.

    Есть доки, где одна из самых интересных страниц - Архитектура БД DIAFAN.CMS

    (маленькое отступление: документация у нас в большинстве своем генерируется "на лету", из гита, где лежит система. ПОМНИТЕ, что когда мы выкладываем очередное обновление, и там в каком-то модуле есть изменения в БД, они сразу будут отображены на этой странице! То есть, документация анализирует инсталл-файлы всей CMS из гита и на основании их формирует документацию, например, поэтому модуль отзывов мы еще не описали в доках, т.к. полируем его еще, но на станице доков БД таблица модуля "отзывы" REVIEWS уже есть)

    Так вот, нужно помнить, что все цены всех товаров у нас лежат в таблице SHOP_PRICE

    Мы писали https://habrahabr.ru/company/diafan/blog/300930/ что мы все пересчеты делаем только в админке, как раз на примере цен:

    Цитата
    7. Минимизируйте динамическое получение данных

    Лучше один раз подождать администратору сайта, чем ждать будет каждый пользователь.

    Например, в Diafan.CMS есть гибкая система скидок, когда у одного товара может быть несколько цен, каждая с установленной скидкой, еще и в разных валютах. Мы не высчитываем новые цены на сайте для каждого посетителя сайта. Мы делаем это при установке скидки в административной части сайта, считаем все различные варианты цены для выбранных товаров и собираем их в отдельную таблицу shop_price с признаком price_id. Исходная цена на товар определяется как id=price_id. Если id<>price_id, то это уже вариация цены либо со скидкой либо в основной валюте сайта. И в этой таблице сразу указывается для кого эта цена (если она установлена для какой-то конкретной группы пользователей).

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


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

    Значит, идем в админку, в файл валют: /modules/shop/admin/shop.admin.currency.php
    Видим функцию save_variable_exchange_rate()
    Там один запрос на сохранение нового курса
    Код
    UPDATE {shop_currency} SET exchange_rate='%f'

    и
    Код
    $this->diafan->_shop->price_calc(0, 0, $this->diafan->id);

    судя по названию price_calc - пересчет цен.

    Все такие функции лежат в /modules/shop/inc/shop.inc.price.php

    (подключение $this->diafan->_shop->price_calc() означает взять из INC файла PRICE shop.inc.price.php функцию CALC)

    Открываем файл и видим
    Код
    /**
    * Рассчитывает все возможные вариации цен и записывает их в базу данных
    *
    * @param integer $good_id номер товара, если не задан, цены рассчитываются для всех товаров
    * @param integer $discount_id номер скидки
    * @param integer $currency_id номер валюты, если нужно изменить цены, указанные в валюте
    * @return void
    */
    public function calc($good_id = 0, $discount_id = 0, $currency_id = 0)

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

    Поэтому Ваша задача сделать модуль, который дернет курс валюты с сайта ЦБ, запишет его в БД shop_currency и дернет в его учетом функцию
    Код
    $this->diafan->_shop->price_calc(0, 0, $this->diafan->id);

  • 11 августа 2016 г.
  • Идея хорошая, публичные вопросы и публичные ответы. Я буду вести топик, если что привлекать коллег. Все могут задавать уточняющие вопросы.
    Степан, давайте только сразу договоримся об удобсстве. Каждый вопрос отдельным сообщением, чтобы на него можно было отдельно отвечать и обсуждать. Я разделю тему.
  • 11 августа 2016 г. , редакция: 1470911766
  • СТЕПАН (IDXDOC):
    Вопрос 1:
    Вчера увидел в проектах задачу сделать автообновление курса валют, что и сам уже давно хотел сделать, но руки не доходили.
    Мне это важно сделать, поскольку у меня 30 сайтов, на которых все товары в валюте, и каждое утро менять руками это не очень круто.
    Помимо автообновления нужно сделать поле, в котором будет записываться процент, который необходимо вычитать их курса валюты.
  • 11 августа 2016 г. , редакция: 1470911784
  • СТЕПАН (IDXDOC):
    Вопрос 3:
    В поиске по товарам, вывести минимальную и максимальную цену в рублях, даже если в админке цены в валюте, в зависимости в какой мы категории
    Находил решение, просто поставил в нужное место и все заработало, а почему это решение работает так и не понял, но работало оно пока я не переписал цены в валюту.
  • 15 августа 2016 г.
  • 1. Тут как обычно, двигаться надо от основного: от БД. Любая информация запоминается в базе, поэтому смотрим, что есть, и думаем, как это можно нарастить.
    Наша любимая страница из доков: Архитектура БД таблица#bs_site_rel - видим, что в ней хранится связь баннеров и страниц сайта.
    Далее уже думать, как лучше приделать категории. Можно отдельную таблицу сделать, можно в эту добавить поле category_id
  • 15 августа 2016 г.
  • 2. Админка. Стандартный файл modules/bs/admin/bs.admin.php, нужно добавить там категории магазина.
    Основа админки модуля - массив $variables
    Если добавить туда поле, которое есть в основной таблице модуля, и его тип ('type' => 'text' поле, 'type' => 'checkbox' галка, 'type' => 'editor' визуальник, 'type' => 'date' календарик, 'type' => 'numtext' числа, и пр.) оно сразу оформится в админке и будет работать на сохранение.

    Собственно, это все описано в доках http://www.diafan.ru/dokument/full-manual/examples/new-field/

    Если поле требует не просто ячейки, а каких-то операций, его можно описать функцией.

    Если функция системная, она подтянется из adm/includes/edit_functions.php, например, называя поле site_id и указывая его тип 'type' => 'function', выполнится функция edit_variable_site_id(), которая выведет список страниц сайта.

    Если функции нет, и мы что-то совсем левое хотим, весь алгоритм работы поля можно определить прям в modules/bs/admin/bs.admin.php.
    То есть, мы добавляем FFFF в $variables и хотим на это поле что-то свое повесить. Тогда мы ниже просто приделываем функцию edit_variable_FFFF() и пишем в ней что хотим, любой алгоритм.

    Есть системные названия внутренних функций, для переопределения стандартного поведения системы.
    edit_variable_ПЕРЕМЕННАЯ - изменение редактирования любого поля модуля
    list_variable_ПЕРЕМЕННАЯ - изменение вывода любого поля в списке модуля
    save_variable_ПЕРЕМЕННАЯ - поменять алгоритм сохранения любого поля.
    и пр.
    Тут надо внимательно прочитать http://www.diafan.ru/dokument/full-manual/developers/admin/module/ и один примерчик http://www.diafan.ru/dokument/full-manual/examples/new-admin/

    Я не знаю, насколько нужно отступать в теорию, насколько Вы знаете основы. Объяснять сначала их, или сразу говорить, что нужно использовать в данном случае. Хотя лучше было бы, если бы задавались предметные вопросы, почему тут так, и почему тут эдак.

    Возвращаясь к задаче, нужно добавить в $variables переменную cat_shop_id типа function и описать её в баннерах, где запрашивать категории магазина и выводить их списком. Система сама сохранит их в БД
  • 15 августа 2016 г.
  • 3. Третий шаг - фильтровать вывод баннеров на сайте, согласно цифрам ID категорий из БД. Это уже не сложно.
    Это modules/bs/bs.model.php
    Функция show_block()
    Там запрос SELECT , где сейчас отбираются только те баннеры, которые прикреплены к текущей странице
    Код
    ....
    AND (r.site_id=%d OR r.site_id=0)
    ...


    (кстати, надо объяснять, что такое %d в запросе?)

    Сюда нужно только добавить
    Код
    ....
    AND (r.cat_shop_id=%d OR r.cat_shop_id=0)
    ...

Новости

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

Форум