Регистрация
Вход через соцсети
Восстановление пароля

Вывод данных поля другого компонента в тексте страницы.

Новый топик
24.08.2012, 19:30
Ответить | Цитировать
nops
Веб-студия «СТО сайтов»

Зарегистрирован:
2009-01-05
Сообщений: 111

Доброго времени.
Появилась задача, сделать форму, при заполнении которой нужно сформировать заранее заготовленный документ и вставить в него, в нужные места данные из полей.
Я сделал так.
Добавляю форму доьавления, в ней создаю поля и вывожу нужный мне материал через форму: "дествия после добавления" в итоге у меня отображается страница со вставленными тегами полей $f_имя_поля
А хочу сделать универсально. Создаю новую страницу в скрытом разделе, в нужные места вставляю теги и в итоге вывожу эту страницу с заполненными тегами.

Вот как такое реализовать? У меня не получается.
25.08.2012, 08:20
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Для чего нужна "универсальность" и на каком именно этапе не получается?
Создали где-то страницу с шаблоном, в действии после добавления вызвали этот шаблон, записали в переменную, прогнали через eval (или str_replace, или что вам больше подойдет...), вывели.

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
25.08.2012, 18:50
Ответить | Цитировать
nops
Веб-студия «СТО сайтов»

Зарегистрирован:
2009-01-05
Сообщений: 111

ну вот я создал страницу, в странице указываю в нужном месте тег $f_имя_поля и вывожу через c_list_class эту страницу, на которой вместо $f_имя_поля, должно выводиться содержимое поля.
Можете сказать как такое сделать, а то что-то у меня голова не доходит как это сделать, каша однагрустный
26.08.2012, 07:42
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Вариант с заменами (не тестировался, навскидку).

1) В нужных местах шаблона проставьте псевдопеременные. Лучше не путать с переменными компонентов, чтобы каши не было. Один из общепринятых вариантов: %VAR1%, %VAR1%
2) В действии после добавления:

$shablon = s_list_class(...); //хотя проще такие вещи забирать прямым запросом, через $db->get_var или listQuery
//в массив замен загнать все нужные переменные
$trans = array("%VAR1%" => $f_VAR1, "%VAR1%" => $f_VAR1);
//ну, и куда-то вывести
echo strtr($shablon, $trans);

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
27.08.2012, 15:05
Ответить | Цитировать
nops
Веб-студия «СТО сайтов»

Зарегистрирован:
2009-01-05
Сообщений: 111

Цитата:
Вариант с заменами (не тестировался, навскидку).

1) В нужных местах шаблона проставьте псевдопеременные. Лучше не путать с переменными компонентов, чтобы каши не было. Один из общепринятых вариантов: %VAR1%, %VAR1%
2) В действии после добавления:

$shablon = s_list_class(...); //хотя проще такие вещи забирать прямым запросом, через $db->get_var или listQuery
//в массив замен загнать все нужные переменные
$trans = array("%VAR1%" => $f_VAR1, "%VAR1%" => $f_VAR1);
//ну, и куда-то вывести
echo strtr($shablon, $trans);
Ух как забавно. Точно же, можно попробовать, может получится...
27.08.2012, 15:42
Ответить | Цитировать
nops
Веб-студия «СТО сайтов»

Зарегистрирован:
2009-01-05
Сообщений: 111

Да, действительно работает.
28.08.2012, 15:45
Ответить | Цитировать
nops
Веб-студия «СТО сайтов»

Зарегистрирован:
2009-01-05
Сообщений: 111

Тут всплыла проблемка:
Код:
".$trans = array("%FIO%" => $f_fio, "%SERIA%" => $f_seria, "%NUMBER%" => $f_number, "%ADRESS%" => $f_adress, "%DOVNUMBER%" => $f_dovnumber);

echo strtr(s_list_class(130,162), $trans);"

когда документ отображается, в левом углу отображается надпись Array
как избавится незнаюгрустный
28.08.2012, 16:35
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Не особо понял про ". в начале кода и " в конце.

Вставьте просто внутри PHP, т.е. "; ...PHP... echo "

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
29.08.2012, 12:47
Ответить | Цитировать
nops
Веб-студия «СТО сайтов»

Зарегистрирован:
2009-01-05
Сообщений: 111

Цитата:
Не особо понял про ". в начале кода и " в конце.

Вставьте просто внутри PHP, т.е. "; ...PHP... echo "
Упс, пардон, перепутал, точно...
там точку с запятой надо поставить, вот болван билн;)
198 196 2012-08-29 12:47:48 12517
Описание проекта