На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

Как добавить плагин forms в сайдбар?

Вопросы-ответы / 9 октября 2015

Подскажите, каким образом можно вставить плагин forms в текстовый виджет сайдбара? Виджет воспринимает только html либо php и bbcode он не воспринимает.

Комментариев: 4
  1. Дмитрий, скорее всего также, как это делается в файле \application\maxsite\shared\type\contact\contact.php. Т.е. нужно создать текстовый виджет php типа и записать что-то вроде такого кода:

    $form = '[form]
    [options]
    email = admin@site.com
    [/options]
    [field] 
    require = 1
    type = select descripti письма
    values = Пожелания по сайту # Нашел ошибку на сайте # Подскажите, пожалуйста
    default = Пожелания по сайту 
    subject = 1
    [/field]
    # остальное описание формы зададите сами...
    [/form]';
    # используем плагин Forms
    if( !function_exists('forms_content') )
    {
     require_once(getinfo('plugins_dir') . 'forms/index.php');
    }
    echo forms_content(str_replace("_NR_", "\n", $form));

    Сам я такое не пробовал делать, но думаю, что как минимум форма будет выведена. Другой вопрос, что она ещё должна как-то обрабатывать POST запросы. По идее плагин должен нормально подхватывать запросы, но нужно проверить гипотезу.

  2. Пока вывести не получается. Выводит код как есть:

    bad-output.jpg

  3. Дмитрий, дело в том, что не верно оформили вставку php-кода в текстовое поле виджета. Я думал, что и так понятно как нужно вставлять wink

    Попробуйте так:

    <?php
    $form = '[form]
    [options]
    email = admin@site.com
    [/options]
    [field] 
    require = 1
    type = select descripti письма
    values = Пожелания по сайту # Нашел ошибку на сайте # Подскажите, пожалуйста
    default = Пожелания по сайту 
    subject = 1
    [/field]
    # остальное описание формы зададите сами...
    [/form]';
    # используем плагин Forms
    if( !function_exists('forms_content') )
    {
     require_once(getinfo('plugins_dir') . 'forms/index.php');
    }
    echo forms_content(str_replace("_NR_", "n", $form));
    ?>

    Пробовал на своём блоге - всё получилось.

  4. red face такой важный момент не учёл. Спасибо за помощь!grin