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

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

  • 28 апреля 2014 г.
  • Сделал немного по-другому — добавил в блок вывода полей формы дополнительную проверку по названию поля:
    Код

    if ($row["name"] == 'Отправлено со страницы') {
    echo '<input type="hidden" name="p'.$row["id"].'" value="'.$_SERVER['REQUEST_URI'].'">';
    }
    else {
    ...стандартный вывод текстового поля
    }
  • 24 апреля 2014 г.
  • Добрый день,

    пытаюсь сохранить информацию в обратной связи, откуда именно было отправлено сообщение.
    Вижу, что в форме есть: <input type="hidden" name="site_id" value="'.$result["site_id"].'">
    но для ситуации, когда сообщение отправляется со страницы товаров, например, оно бесполезно.

    Поэтому:
    — добавил в diafan_feedback поле site_uri VARCHAR(256)
    — добавил в feedback.admin.php
    Код

    'site_uri' => array(
    'type' => 'text',
    'name' => 'Раздел сайта',
    'help' => 'Адрес страницы с которой отправлено сообщение.',
    ),

    — добавил в feedback.view.form.php
    Код

    <input type="hidden" name="site_url" value="'.$_SERVER['REQUEST_URI'].'">


    В админке поле появилось, редактируется и сохраняется.

    Как теперь это поле записать в базу при отправке сообщения?
    Как его оформить в feedback.admin.php, чтобы оно не в input'е отображалось, а например ссылкой?
    Думаю, что наверняка у кого-то возникала подобная ситация, поделитесь опытом, пожалуйста.
    Спасибо.

    P.S. Видел это http://user.diafan.ru/forum/show1375/, но у меня ситуация немного другая.
  • 24 апреля 2014 г.
  • Итак, продублирую ответ техподдержки, наверняка кому-нибудь пригодится.

    Для вывода поля, принадлежащего страницам сайта, требуется указать его в файле includes/init.php, функция private function page_in_site(). Сначала в запросе:

    Код
    $current_page = DB::query_fetch_array(
    "SELECT id, parent_id, [name], [title_meta], [name], [keywords], [descr],"
    ." title_no_show, noindex, [text], js, lead, "
    ...

    Затем добавить в массив:

    Код
    $this->theme = $current_page['theme'];
    $this->js = $current_page['js'];
    $this->lead = $current_page['lead'];
    if($this->module != "reminding")


    В таком случае поле будет доступно аналогично тому, как выводятся поля в файле includes/function.php, например, в функции public function show_text()

    echo $this->diafan->lead;

    Я пока сделал простой вариант:
    Код

    public function show_lead()
    {
    $lead = $this->diafan->lead;
    echo $lead;
    }


    В шаблоне вывожу так:
    Код
    <insert name="show_lead">


    Итого: несколько строк кода + поле в БД — получаем новый функционал.
    Разработчики — браво!
  • 23 апреля 2014 г.
  • Добрый день,

    пытаюсь повторить вот это:
    http://cms.diafan.ru/dokument/full-manual/examples/new-field/
    для системного модуля "Страницы сайта".

    — добавил новое поле в diafan_site тип LONGTEXT
    — добавил в site.admin.php
    Код

    'lead' => array(
    'type' => 'editor',
    'name' => 'Анонс страницы',
    'help' => '...',
    'multilang' => true
    ),


    Поле в админке появилось, но при попытке сохранения выдает ошибки (см. ниже).
    Причем меня смущают названия полей, которые фигурируют в запросах к названиям добавлены единицы:
    name1='%h', lead1='%s', text1='%s',

    Со времени написания мануала что-то изменилось?
    В чем может быть проблема и как ее решить?

    Цитата

    Unknown column 'lead1' in 'field list'
    #1 trigger_error(Unknown column 'lead1' in 'field list', 512) called at [/diafan_5.3.4.8/includes/database.php:505]
    #2 DB::_query(UPDATE `diafan_site` SET name1='Траляля', lead1='', text1='<p><insert name="show_block...) called at [/f5_diafan_5.3.4.8/includes/database.php:139]
    #3 DB::query(UPDATE {site} SET name1='%h', lead1='%s', text1='%s', timeedit='%s', title_meta1='%h', keywords1='%s', descr1='%s', title_no_show='%d', noindex='%d', changefreq='%s', priority='%f', sort=%d, search_no...) called at [/Users/macos/Documents/Works/_Shared/_Webprojects/f5_diafan_5.3.4.8/adm/includes/save.php:224]
    #4 Save_admin->save() called at [(null):0]
    ...
  • 21 марта 2014 г.
  • Спасибо, Павел!
    Боюсь, что не сдержу такое обещание, но я к этому иду.

    В итоге сделал что-то типа такого:
    Код

    if ( ($this->diafan->titlemodule) && ($this->diafan->module == 'photo') && (count($this->diafan->path) == 2) ) {
    $name = 'Фото ' . $name;
    }


    Есть ощущение, что можно проще, но пока так.
  • 19 марта 2014 г. , редакция: 1395195857
  • Мужчины, подскажите, пожалуйста, как все же проверить где мы находимся — узнать текущий адрес страницы или название элемента view, который отвечает за ее вывод?

    P.S. Обещаю купить еще одну лицензию!
  • 15 марта 2014 г. , редакция: 1394888520
  • Как пример, нужно, чтобы на странице просмотра фотографии заголовок формировался:
    "Фотография " . $name
    чтобы не набирать в админке каждый раз "Фотография ..."

    Что-то типа такого (function.php / show_h1):
    Код

    if ($this->diafan->titlemodule AND $this->diafan->module == "photo") {
    $name = 'Фотография ' . $name;
    }

    но мне нужно, чтобы этот код выполнялся только на странице просмотра фотографии (не в категориях/альбомах)!

    Как проверить, что мы находимся именно на странице просмотра отдельной фотографии?
  • 12 марта 2014 г. , редакция: 1394622518
  • Добрый день, знатоки!

    Подскажите, пожалуйста, как не используя кастомный шаблон с конструкцией вида
    <h1><insert name="show_h1"></h1>
    сделать в некоторых разделах свой принцип построения заголовка h1.

    Например с помощью переопределения стандартной функции function show_h1:
    if (текущая страница принадлежит разделу) {
    h1 = 'Крутой заголовок ' . h1;
    }

    А может быть какой-то другой метод посоветовать можете? Спасибо.
  • 27 февраля 2014 г.
  • Добрый день.

    Как вывести артикул в списке товаров в административной части?

    Нашел функцию get_base_link, которая выводит поля, но теперь нужно найти,
    где формируется соответствующий запрос к базе, так как поля "Артикул" в результатах запроса нет.

    Где искать этот запрос, как его изменить?
    Спасибо.
  • 29 января 2014 г.
  • Да, Виталий, что-то подобное я хотел увидеть, более того — думал, что оно есть хотя бы в разделе /user/
    однако список заказов там присутствует, но оплатить их нельзя — тоже было бы неплохо.

    Кстати, может кому пригодиться — подобная возможность есть на сайте Робокассы (если вы подключили этот метод оплаты) — там можно выписать счет на любую сумму и отослать ссылку на его оплату.
  • 29 января 2014 г.
  • Добрый день, уважаемые программисты и пользователи Diafan!

    В ходе работы с CMS возник вопрос:
    как заказчик может оплатить товар, заказанный в "один клик" (cart.one_click)?

    Пример:
    — заказчик сделал быстрый заказ
    — оператор позвонил и уточнил все параметры (время, адрес доставки и т.п.)
    — клиент говорит: "Могу оплатить картой VISA"
    — как это сделать?

    Насколько я понимаю — никакой ссылки на страницу с оплатой заказа, оформленным подобным образом, мы клиенту предоставить не можем... Как решить такую задачу? Как вы (владельцы онлайн-магазинов) поступаете?

    Спасибо.
  • 09 октября 2012 г.
  • Денис, несколько вопросов:
    — У вас лицензии стояли?
    — Как по вашим ощущениям быстродействие этих двух CMS идентичны?
    — Есть какие-то серьезные преимущества одной системы над другой?

    Может быть у разработчиков Diafan тоже есть, что сказать?
  • 12 мая 2012 г.
  • На сайте есть блок с частыми поисковыми запросами, ссылки в которых хотелось бы оформить в общем стиле сайта, а не набором абракадабры.

    http://roza-market.ru/
    см. блок справа "Цена букета" и т.д.

    Считаю, что в продукте все должно быть прекрасно и картинки, и текст и URL-ы.
  • 10 мая 2012 г.
  • Вопрос решил, например для цены это выглядит вот так:

    Код
    RewriteRule price/([d]{1,4})-([d]{1,4})/$ shop/?catid=0&action=search&n=&a=&d=&pr1=$1&pr2=$2 [L]


    появилась новая проблема — перестала работать сортировка по найденным товарам... Как это можно решить?
  • 10 марта 2012 г.
  • Добрый день.

    Просмотрел версию 4.5, но так и не нашел там данноо функционала:
    Цитата
    хотелось бы уточнить, как можно реализовать Модуль расчета наложенного платежа, чтобы при заказе например человек указывал город и происходил пересчет суммы, чтобы в Робоксе уже выдавало окончательную сумму к оплате.


    Так и не реализовано?
  • 21 марта 2012 г.
  • Виталий, мы говорим о разных частях сообщения zavyalov123. Я про первую часть (сложная), Вы про вторую (простая).

    Действительно, для небольших отправлений почтой России, колебания суммы незначительны, но если товары весом от 100г до 5кг и отправляется все это посредством EMS в разные концы страны?.. Понимаю, что это не критично, но все же.

    В любом случае, Виталий, я Вас понял, спасибо за отклик.
Показывать по:

Новости

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

Форум