LINUX.ORG.RU

>Мало того, что MySQL SUM () не воспринимает,

http://www.tizag.com/mysqlTutorial/mysqlsum.php

> так еще и говоСмарти к пробелам в арфметических операциях чувствителен.

index.php:
?php
require_once("smarty/libs/Smarty.class.php");
$smarty = new Smarty;

$smarty->compile_check = true;
$smarty->debugging = true;

$smarty->assign("WithSpaces"," 25 ");
$smarty->assign("WithoutSpaces","35");
$smarty->display('index.tpl');
?>


index.tpl:
{include file="header.tpl" title=foo}
{$WithoutSpaces} + {$WithSpaces|string_format:"%d"} = {math equation="x + y" x=$WithoutSpaces y=$WithSpaces|string_format:"%d"}
{include file="footer.tpl"}


Вывод:
25 + 35 = 60

Ну и? Что не работает?

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

Кроме того, нагружать Смарти математическими операциями - это только в критических ситуациях. Ибо во View не должно быть много Controller :)

Нужны вычисления в Смарти - пишите плагинные функции и модификаторы.

KRoN73 ★★★★★
()
Ответ на: комментарий от Slavaz

Это в Math

А обычно:
{$myVar1 + $MyVar2} - выводится $myVar1
{$myVar1+$MyVar2} - выводится ПРАВИЛЬНАЯ сумма.

anonymous
()
Ответ на: комментарий от KRoN73

Это конечно правильно, но:

ситуация в 1С:

шаблон - Таблица содержит только переменные.

код формирования отчета в цикле по группировкам (!!!) присваивает всем переменным значения, в т. ч. и значения выражений.


Все ясно и понятно.

А теперь Smarty:

передаем МАССИВЫ источников данных, Smarty с помощью Banded Report Generator (а без него никак) генерирует отчет.

И, например, вычисляемые выражения секции проще сделать в шаблоне.

А еще и приходится запоминать суммы, если из 2 разных наборов данных.

anonymous
()

А шахматки (PivotTables) никто не пробовал на Smarty+Plugins делать?

anonymous
()

> Мало того, что MySQL SUM () не воспринимает

зачем оно надо? читабельности не добавляет, понимаемости тоже. Ты бы ещё bash вспомнил, там тоже с пробелами всё необычно. Например:

FILES="`ls`"
и
FILES = "`ls`"

разные вещи :)

true_admin ★★★★★
()
Ответ на: комментарий от isden

>логике не место в тимплейтах!

Логика в темплейтах - НАМНОГО меньшее зло, чем темплейты в коде. Если, конечно, ты пишешь что-то хоть немного сложнее одной странички с формой.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.