1000 или 1024 — это обычно зависит от условий.
некоторые ISP считают, что 1 Mb = 1000 b, а некоторые 1024.
вот и в каждом частном случае приходится устанавливать свою константу.
Возникла необходимость перевести один проект с обычного блочного шаблонизатора на smarty для удобства верстальщика, и возник ряд проблем. Задача проста — вынести полностью весь html и оформление в шаблоны.
Проект крупный и имеет много типов данных для вывода, например очки игрока, их нужно оформлять красным цветом если они отрицательные, зеленым если положительные и серым если равны нулю. Сейчас это реализует php функция, которая возращает название соответствующего стиля. Эта функция используется так же для оформления и других типов данных.
Я начал переписывать на смарти конструктор таблиц(списков), чтобы верстальщик сам мог управлять логикой представления, но столкнулся с проблемой, что в smarty не предусмотрено описание пользовательских функций на самом же smarty-языке, т.о. выходит, что повторяющуюся логику оформления(как в случае с цветами) для каждого типа данных описывать каждый раз нужно заново, либо жестко описывать её на PHP, что недопустимо, т.к. лишает верстальщика возможности управлять логикой вывода.
Сопсно вопрос — как это можно решить? можно как нибудь внедрить в smarty возможность использования описанных на smarty-языке функций?
P.S. одно решение этой проблемы я нашел, но оно мне совсем не по душе.
Мои плагины для Smarty. Часть 2