Микрошаблоны

С.

Продвинутый новичок
Без объяснения, почему нельзя весь этот хтмл вынести в шаблон, постить такие куски кода, имхо, бессмысленно.
Потому, что делать отдельный шаблон под каждуй отдельный продукт, надо быть альтернативно одаренным. Как и писать это все в одном шаблоне в виде одного длинного ifelse или case.
 

Фанат

oncle terrible
Команда форума
Я не умею решать чужие задачи по огрызкам кода.

У меня работает так:
Сначала я всегда всё делаю руками.
После того, как набирается опыт использования и выделяются общие моменты - я эти общие моменты выношу в отдельную логику.
Случаев, когда под каждый продукт рисуется свой дизайн, я не припоминаю в своей практике. Какая-то общая идея, сводимая к двум-трем ифам (показать картинку или текст) всегда находится.

На твоем примере у меня нет достаточно данных, чтобы выявить закономерности. Поэтому посоветовать что-то конкретное не могу.
Но сам принцип для меня работает железно.

по вопросу "где хранить" - если не нравится отдельный файл, могу предложить функции смарти.
В том же файле шаблона, в котором это будет использоваться, определяется функция. Которая и выводит весь этот винегрет.
 

С.

Продвинутый новичок
Так и у меня так же работатет. Вот я и показал, к чему это свелось в результате многочисленых проб и ошибок. Если бы это было только в данном конкретном случае, то насрать на него. Я обратил внимание, что очень похожие "некрасивости" возникают в других случаях и при других обстаятельствах. В результате я вычленил общую проблему и поднял вопрос. Если кому-то это слишком абстрактно, извиняйте.

С Смарти-шмарти вопросов нет. Придумать свой собственный синтаксис не проблема. Вопрос стоит, как это обкрасивить на нативе?
 

craz

Нестандартное звание
У вас мои коменты в игноре да стоят? Гады)
 

Фанат

oncle terrible
Команда форума
Ну, на нативе тем более никто не мешает тебе определить функцию :)

Не знаю, может, я и вру, но у нас в проектах строковых литералов с хтмлом, вроде, до сих пор не было.
Хотя говнокода тоже навалом, и того же хередока. Но, во всяком случае, хередок этот пишется в файле шаблона. тоже спорное решение, но хотя бы с точки зрения разделения всё окей. И при этом я вижу пути, как все эти ъередоки вынести в отдельные сущности, со своими собственными шаблонами в отдельных файлах - нет только времени этим заниматься.
 

Фанат

oncle terrible
Команда форума
craz
ты, по-моему, нерелевантные вещи пишешь.
Вопрос - "куда положить код шаблона хелпера?"
ты отвечаешь - "используйте хелперы!!!111"
 

craz

Нестандартное звание
Где такой вопрос то был? Я так понял у него это все в шаблоне вот в таком виде и лежит или нет?

И подожди, что такое код ШАБЛОНА хелпера? Хелпер вида это и есть шаблон. Некий класс который получает и обрабатывает входящие данные и на выход представление в виде какого-то формата html etc. выдает.
 

Фанат

oncle terrible
Команда форума
вот поэтому и игнорируют, что ты даже вопроса не понял. а уже вторая страница.
а каждому автор топика хочется, чтобы в теме на его вопрос отвечали, а не объясняли вопрос тем, кто не въехал
потому что когда таких непоняток 5 страниц наберется, никто уже и читать и вникать не будет
 

craz

Нестандартное звание
Да точно, ты прав, он спросил "не в отдельные же их файлы выносить". Значит у него тупо нет хелперов вида..., а я просто не допонял и предложил ему что? Позаботиться о том чтобы сделать стек хелперов.
 

Фанат

oncle terrible
Команда форума
ну тогда допойми и расскажи, как, по-твоему, должен быть устроен этот "стек хелперов".
 

WMix

герр M:)ller
Партнер клуба
не могу не согласиться с C.
программировать ради программирования это бред... сейчас можно написать так, а после подумав переписать как полагается,
(в зенде пишется класс хелпер который может вернуть HTML, но можно завернуть правильно и добавить view-script, и перенести этот код хтмл в отдельный файл)

да хелпер слишком мощный.. да там куча хтмл кода, но в куче программа (надеюсь) написана довольно таки не плохо..

если вопрос про конкотинацию, я так напишу
PHP:
            $html.= '
                <span><img src="icons/'.$icon1.'"></span>
                <span><img src="icons/arrow.jpg" alt="&gt;&gt;"></span>
                <span><img src="icons/'.$icon2.'"></span>
            ';
PHP:
 $html = tag('a', array('class' => 'plate', 'href' => $url)).tag('div').escape($text).tag('/div').tag('/a');
а вот это бред переписывание хтмла в другом языке! если уж то без закрывающих тегов

PHP:
    ...
    'PROV1'=> array('zone'=>'CELL', 'sys'=>'CELL', 'topup'=>'DIRECT', 'currency'=>'RUB',
        'values'=>array(20,30,40,50),
        'suspend'=>    
            ert(
                'Direct PROV-1 service under technical maintanence. Please use ',
                'Извините сервис прямого пополнения PROV-1 закрыт на техобслуживание. Поспользуйтесь '
            )
            .'<a href="'.url_add('org','PROV2').'">PROV-2</a>',
        'info'=>
            '<div style="text-align:center;"><a href="'.url_add('org','PROV2').'">'
            .ert('For larger top up<br>amounts please use','Для более крупных<br>сумм пополнения используйте')
            .'<br><img src="icons/PROV2.jpg" alt="PROV-2" style="vertical-align:middle;"></a></div>',
    ),
    ...
а вот это ужасно это я не хотел бы видеть
 

С.

Продвинутый новичок
craz, там выше у меня пример настроечных данных для конретного продукта. Все вместе, включая уникальные микро-виджеты, идущие вместе с этим продуктом. Я не мазохист, чтобы рыскать по разным стекам-шмекам, для внесения правок.
 

WMix

герр M:)ller
Партнер клуба
А что предлагается?
если это модель и все строки в базе, и там ими управляют юзеры, то фиг бы с ним... если нет, надо разбирать код по полкам.. что есть модель а что вью,
и проблема не в том можно мозги сломаеть читая, а в том точно сломаешь внося поправки...
craz. Я не мазохист, чтобы рыскать по разным стекам-шмекам, для внесения правок.
я думаю что стеки шмеки это файлы... и тут вопрос, а MyLyn не в почете?, у меня раньше в эклипсе было открыто по 50 файлов... сейчас обычно 5-10
 

craz

Нестандартное звание
craz, там выше у меня пример настроечных данных для конретного продукта. Все вместе, включая уникальные микро-виджеты, идущие вместе с этим продуктом. Я не мазохист, чтобы рыскать по разным стекам-шмекам, для внесения правок.
Тогда у меня нет предложений(, так как я например не мазозохист вид какого-то действия читать который строк 100500 объемом...
Да и не MVC это уже...
 

С.

Продвинутый новичок
Опять за рыбу деньги. Я не прошу помочь мне разобрать модель от вью. Вопрос как "красиво" записать в коде данный формально динамический, но статический по сути кусок текста. (Пусть это будет во вью, если кому то важно знать.)
PHP:
$msg =    
            ert(
                'Direct PROV-1 service under technical maintanence. Please use ',
                'Извините сервис прямого пополнения PROV-1 закрыт на техобслуживание. Поспользуйтесь '
            )
            .'<a href="'.url_add('org','PROV2').'">PROV-2</a>';
 

С.

Продвинутый новичок
Да и не MVC это уже...
MVC был придуман для того, что бы облегчать разработку и сопровождение. Если в какой-то момент этот самый MVC начинает наоборот ее усложнять, то он идет лесом. Но это так, ремарка в сторону, ответа не требует.
 

craz

Нестандартное звание
Красивее никак.
ну partial еще могу посоветовать...
 

damner2

Новичок
Опять за рыбу деньги. Я не прошу помочь мне разобрать модель от вью. Вопрос как "красиво" записать в коде данный формально динамический, но статический по сути кусок текста. (Пусть это будет во вью, если кому то важно знать.)
PHP:
$msg =    
            ert(
                'Direct PROV-1 service under technical maintanence. Please use ',
                'Извините сервис прямого пополнения PROV-1 закрыт на техобслуживание. Поспользуйтесь '
            )
            .'<a href="'.url_add('org','PROV2').'">PROV-2</a>';
PHP:
$msg = sprintf(_('Direct PROV-1 service under technical maintanence. Please use <a href="%s">PROV-2</a>'), url_add('org','PROV2'));
?
 
Сверху