Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как добавить дополнительное поле для feedback?

Как добавить дополнительное поле для feedback?


     29.04.2019    Все вопросы » Шаблоны (TPL)    2449

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

доп поля в feedback.tpl выглядят так
<input class="form-control" type="text" name="[b]xfield[login][/b]">


в шаблоне email сообщений
Логин в проекте: {%login%}


в инструкции не написано о добавлении полей в файлах feedback.tpl

Ответил: Denissnorman


Дополнительное поле в feedback.tpl до версий DLE 11.1

1. Открываете файл engine/ajax/feedback.php ищете строчку:
$row['template'] = str_replace( "{%ip%}", $_SERVER['REMOTE_ADDR'], $row['template'] );


2. Ниже также добавляете:
if(empty($_POST[phone])) $_POST[phone] = "Отсутствует";
$row['template'] = str_replace( "{%phone%}", strip_tags($_POST[phone]), $row['template'] );


3. Открываете feedback.tpl Вашего шаблона и добавляете в форму текстовое поле с именем "phone"
<input name="phone">


4. Идёте в админку -> Все разделы -> Шаблоны E-Mail сообщений -> Блок "Настройка E-Mail сообщения, которое отсылается через форму обратной связи", вставляем в текстовый блок.
Телефон отправителя: {%phone%}


Тем самым мы добавили новый тег {%phone%}

20 комментариев

Denissnorman
Юзер

Denissnorman - 29 апреля 2019 08:49 -

feedback.php

ТeraMoune
Юзер

ТeraMoune - 29 апреля 2019 09:41 -

В инструкции не написано потому как такой возможности не существует. И никак простым способом Вы не добавите дополнительное поле.

И вообще запомните, если в инструкции чего-то не описано это значит только одно - так сделать нельзя. Только стороннее вмешательство и правки движка.

Denissnorman
Юзер

Denissnorman - 29 апреля 2019 10:16 -

в инструкции написано что возможно добавить - https://dle-news.ru/extras/online/index.html?all27.html
читайте

ТeraMoune
Юзер

ТeraMoune - 29 апреля 2019 11:40 -

Во первых
<input class="form-control" type="text" name="[b]xfield[login][/b]">
.
в name не должно быть никаких тегов форматирования, прочитайте о назначении тега :D Раз любите отправлять что-то читать других. И вообще name не для этого предназначен. Это не исправит проблемы но просто к слову )

Второе, я вообще не вижу упоминаний дополнительных полей в данном разделе, есть на форматирование в email шаблоне, а вот обработка тегов в feedback.tpl нету, быть может оно где-то в другом месте но я сомневаюсь. Да и email сообщения тоже может не обрабатывать.

Скорей всего celsoft, забыл добавить основные функции и код для работы. Ведь если посмотреть на другие модули, вывод новостей и профиля то везде в них есть подключение файла из /inc категории и есть такие функции как xfieldsdataload но в feedback.php ничего такого нету. Но опять же всякое может быть. Но если celsoft, забыл это добавить это легко исправить.

P.S. У тоже не работали дополнительные поля в обратной связи.

Denissnorman
Юзер

Denissnorman - 29 апреля 2019 11:48 -

Теги это я тут случайно добавил чтоб выразительно были видны забыв про code
Вы правда не видели в инструкции? тогда специально копипастил


Также у вас есть возможность использования дополнительных полей в разделе обратной связи на сайте. Для того чтобы добавить дополнительное поле в форму обратной связи, вам необходимо только разместить необходимое поле с определенным именем в форме, после чего оно будет доступно для использования в шаблонах e-mail сообщений. Для добавления дополнительного поля в форму, для поля ввода необходимо использовать атрибут с именем: name="xfield[X]", где X это имя поля, написанное латинскими буквами. Например, вы хотите разместить в форме обратной связи поле для заполнения номера телефона, для этого в шаблоне feedback.tpl размещаете поле:
 
<input placeholder="Ваш номер телефона" type="text" name="xfield[tel]">
 
где tel это уникальное имя дополнительного поля, а в шаблоне e-mail сообщений в админпанели размещаете тег: {%tel%}, после чего заполненный пользователем номер телефона будет также присылаться вместе с сообщением. Допускается использование любого количества дополнительных полей.

ТeraMoune
Юзер

ТeraMoune - 29 апреля 2019 12:14 -

Читал и даже больше вашего. Вы дальше второго абзаца не читали, на нём и застопорились и побежали мне копипастить текст с доков ?)

ТeraMoune
Юзер

ТeraMoune - 29 апреля 2019 11:49 -

Может мы оба не понимает как оно должно работать, ведь в документации так и написано в name="xfield[login]" это по сути верно, но в разделе где есть эти примеры не сказано о том, что вы можете вывести значения этих полей. xfield[login] в принципе и не должен выводить ничего, вообще не понятно зачем в обратной связи дополнительные поля. Да хорошо бы если можно было вывести значение для пользователя но об этом увы не сказано ни слова.

Flash
Эксперт

Flash - 29 апреля 2019 12:50 -

Должно работать. Кэш пробовали сбрасывать?

ТeraMoune
Юзер

ТeraMoune - 29 апреля 2019 12:57 -

***Комментарий удален***

Denissnorman
Юзер

Denissnorman - 29 апреля 2019 13:19 -

Проблему решил.
Забыл написать что DLE бородатого 10.1, оказывается это функция доп полей выше 11.1. если не ошибаюсь.
Нашел в просторах редактирование feedback.php в папке ajax, может кому понадобится код сюда оставлю.


1. Открываете файл engine/ajax/feedback.php ищете строчку:
$row['template'] = str_replace( "{%ip%}", $_SERVER['REMOTE_ADDR'], $row['template'] );

2. Ниже также добавляете:
if(empty($_POST[phone])) $_POST[phone] = "Отсутствует";
$row['template'] = str_replace( "{%phone%}", strip_tags($_POST[phone]), $row['template'] );

3. Открываете feedback.tpl Вашего шаблона и добавляете в форму текстовое поле с именем "phone".
<input name="phone">

4. Идёте в админку -> Все разделы -> Шаблоны E-Mail сообщений -> Блок "Настройка E-Mail сообщения, которое отсылается через форму обратной связи", вставляем в текстовый блок ниже 
Телефон отправителя: {%phone%}

ТeraMoune
Юзер

ТeraMoune - 29 апреля 2019 13:23 -

***Комментарий удален***

Denissnorman
Юзер

Denissnorman - 30 апреля 2019 07:34 -

***Комментарий удален***

maks
Юзер

maks - 30 апреля 2019 10:12 -

***Комментарий удален***

ТeraMoune
Юзер

ТeraMoune - 30 апреля 2019 10:45 -

***Комментарий удален***

ТeraMoune
Юзер

ТeraMoune - 30 апреля 2019 10:49 -

***Комментарий удален***

Denissnorman
Юзер

Denissnorman - 30 апреля 2019 11:17 -

***Комментарий удален***

ТeraMoune
Юзер

ТeraMoune - 30 апреля 2019 12:07 -

***Комментарий удален***

deadluk
Юзер

deadluk - 30 апреля 2019 12:27 -

***Комментарий удален***

Denissnorman
Юзер

Denissnorman - 30 апреля 2019 13:11 -

***Комментарий удален***

deadluk
Юзер

deadluk - 30 апреля 2019 13:20 -

***Комментарий удален***

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх