Подскажите, как решить задачу?
Есть таблицы Кредитные договоры и Клиенты, у клиента может быть множество договоров. Есть шаблон для печати в Кредитных договорах, в котором нужно вывести в виде таблицы все договоры клиента, но редактор шаблона не предоставляет такой возможности.
Пытался сделать выборку нужных данных из таблиц через {php} в смарти прямо в теле шаблона (по примеру из http://www.smarty.ne...unction.php.tpl), но на это получил эксепшен "{php} is deprecated, set allow_php_tag = true to enable". Включить эту опцию для шаблона ваша система не позволяет. $php_handling у вас также не SMARTY_PHP_ALLOW. Зачем заблокирована вставка PHP-кода в шаблон, я понять не могу, если вы не даете возможность подготовить PHP-переменные перед выводом шаблона ... Попытка вызвать php-функцию из шаблона также провалилась. Пробую сделать выборку прямо в foreach:
{foreach from={data_table('Кредитные договоры', "`status`=0", 'all')} item=item key=key}</p>
[key={$key}]
[item={$item}]
[id1={$item.id}]
[id2={$item.ID}]
[Номер кредитного договора={$item['Номер кредитного договора']}]
{/foreach}
Но отображается в итоге странный текст "[key=0] [item=Array] [id1=A] [id2=A] [Номер кредитного договора=A]" (лишь одна итерация). Хотя результат выполнения данной функции на чистом PHP содержит 988 элементов:
array(988) {
[0]=>
array(47) {
["ID"]=>
string(1) "6"
["Кто добавил"]=>
string(3) "101"
["Время добавления"]=>
string(19) "2014-05-08 22:59:00"
["Статус записи"]=>
string(1) "0"
["Номер кредитного договора"]=>
string(16) "213123-АВ-2313"
}
...
}
И как в таком положении дел мне решить поставленную задачу?
1
Произвольный SQL-запрос из Smarty-шаблона
Автор nevmerzhitsky, 03 сент. 2014 01:14
Сообщений в теме: 3
#1
Отправлено 03 Сентябрь 2014 - 01:14
#2
Отправлено 03 Сентябрь 2014 - 01:27
Вы смотрите smarty документацию версии 2. В кб используется версия 3 (документация на нее к слову на англ.). Использование тега {php} является устаревшим. И потом зачем такое извращение? У вас скорее всего в договорах есть поле связи на таблицу клиенты. Сделайте таблицу договора - подчиненной и будет вам счастье.
И приучитесь обворачивать код тегами кода(значек <>). Очень помогает воспринимать информацию.
И приучитесь обворачивать код тегами кода(значек <>). Очень помогает воспринимать информацию.
Сообщение отредактировал wondertalik: 03 Сентябрь 2014 - 01:29
#3
Отправлено 03 Сентябрь 2014 - 11:30
wondertalik, вы неверно поняли задачу, подтаблицей договоры уже являются. перечитайте второй абзац.
Сообщение отредактировал nevmerzhitsky: 03 Сентябрь 2014 - 11:30
#4
Отправлено 03 Сентябрь 2014 - 13:19
Рабочее решение описано в http://clientbase.ru...indpost&p=25973
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных