Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Обратная связь

Пользователь
Сообщений: 11
Доброго времени суток! В написании сайтов я не силен, прошу сильно не пинайте)
Необходимо добавить еще один модуль обратной связи! С другой формой заполнения.
в Шаблоне форму я изменил, в папке modules создал еще каталог с обратной связью с именем feedback2.
При переходе по ссылке http://site.ru/feedback2/ "Пишет что страница не найдена или временно не доступна"

Что я сделал не так? Как правильно добавить?
Разработчик
Сообщений: 605
Недостаточно просто создать новую папку под модуль и скопировать туда файлы модуля. Нужно зарегистрировать модуль в системе, чтобы она знала о нем. Кроме этого необходимо модифицировать и сам модуль, чтобы он использовал свои отдельные ресурсы (таблицы с данными, настройки, шаблоны и так далее). И собственно создать эти отдельные ресурсы.

Раз, как говорите, вы не сильны в веб программировании, то могу посоветовать использовать модуль форм. По большей части вы потеряете возможность приложения файлов, но не всем это нужно. Зато сможете самостоятельно создавать формы, если немного разберетесь. Такой вот вариант есть простой. Не так давно на форуме рассказывал про модуль форм: http://linkorcms.ru/forum/topic205.html
Пользователь
Сообщений: 11
Я и не заметил о существовании модуля форм )) Функционал у него отличный! почти то что надо,но не совсем то( да еще и не отправляет форму.. При нажатии на кнопку "отправить форму" идет загрузка и переходит на страницу WEb-форм - http://site.ru/forms/

Тяжело и долго новый модуль регистрировать в системе?
Если вы опишите этот процесс, то думаю многим будет это полезно.

P.s. 1.4.1-2
Разработчик
Сообщений: 605
Там должно отображаться сообщение об отправке. В модуле похоже что баг с ЧПУ ссылками. Можно найти в файле /modules/forms/index.php следующую строчку
$action = Ufu("index.php?name=forms&form=$form_id&op=save", 'forms/{op}/');

и заменить ее на
$action = "index.php?name=forms&form=$form_id&op=save";

Тогда должно работать. Или отключить ЧПУ вовсе в настройках системы.

zarik51:
Тяжело и долго новый модуль регистрировать в системе?

Чисто зарегистрировать модуль не сложно, делается вызовом следующей функции хоть из тестера кода в админке:
/**
* Регистрация модуля в БД.
* Рекомендуется использовать эту функцию вместо прямого внесения изменений в базу данных.
* @param string $Name Имя модуля
* @param string $Folder Имя папки модуля в директории модулей
* @param int|string $IsIndex Модуль работает на index.php (1|0)
* @param int|string $View Уровень видимости (1|2|3|4)
* @param int|string $System Имеют доступ только системные администраторы (1|0). Модуль автоматически скрывается из верхнего меню если администратор не системный.
* @param int|string $Enabled Включен (1|0)
* @return void
*/
function ExtAddModule( $Name, $Folder, $IsIndex = 1, $View = 4, $System = 0, $Enabled = 1 ){


Процесс в общем случае я описал. Но для каждого конкретного случая долго описывать. Да и при умении программировать на PHP можно разобраться, тем более, что оно вполне потребуется при этом.
Разработчик
Сообщений: 605
Да, там баг. Вот исправленный файл: https://bitbucket.org/ldg/linkorcms/raw/8220e8e8f7d64ffe0931b5929e95d8c4a4b0388e/modules/forms/index.php
Пользователь
Сообщений: 11
function ExtAddModule( $Name = Задать Вопрос, $Folder = Feedback2, $IsIndex = 1, $View = 4, $System = 0, $Enabled = 1 )
Не выполняется данная команда, нажимаю выполнить код и ничего не происходит.


Удалив модуль sitemap
Я переименовал папку feedback2 в sitemap (с измененным мною формой). Так модуль заработал))
Супер пользователь
Сообщений: 50
zarik51:
function ExtAddModule( $Name = Задать Вопрос, $Folder = Feedback2, $IsIndex = 1, $View = 4, $System = 0, $Enabled = 1 )
Не выполняется данная команда, нажимаю выполнить код и ничего не происходит.

Вот так попробуй:
ExtAddModule(Задать Вопрос, Feedback2);


-- Изменено "gadget": 10.06.2013 16:01 --
Разработчик
Сообщений: 605
Я кинул кусок кода, где идет объявление функции. Дабы было понятно какие аргументы она принимает. Многое упирается в знание PHP. Советую предварительно хоть немного почитать о нем. Функции, типы данных, операторы...Если до этого был опыт программирования на паскале/бейсике, то он тоже применим.

Вообще-то вызывать функцию надо было так:
ExtAddModule('Задать Вопрос', 'Feedback2');
gadget был близок, но все же строки нужно заключать в ковычках. Иначе PHP будет думать, что это константы (но они не будут объявлены и выйдет ошибка).

zarik51:
Я переименовал папку feedback2 в sitemap (с измененным мною формой). Так модуль заработал))

Однако еще нужно и сам модуль исправлять. Обратите внимание на урл, при переходе на любую ссылку вы попадете на оригинальный модуль. Без адаптации он будет мнить себя исходным модулем и использовать ресурсы старого модуля.
Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
Здесь присутствуют
(пользователей: 0, гостей: 1)
Быстрый переход: