SSSerj
Новичок
Sigma и операции над блоками
Хотелось бы разобраться в следующих вещах. Представим себе ситуацию. Есть шаблон template.html. Данный шаблон содержит различные блоки для разбора, к примеру 1-LeftBoxNavy, 2-LeftBoxText, 3-CenterInfo, 4-RigtBoxNavy, 5-RightBoxText. (Под блоками надо понимать <table>…</table>). Каждая генерируемая страница может содержать от одного до нескольких представлений этих блоков.
… Понятное дело, что второе представление содержит элементы $variant1 + $variant2, а хотелось бы только $variant2.
№1. Как это реализовать, используя метод replaceBlock() и возможно ли это??
Вообще я преследую такую идею. Далее передавать str1 и str2 в PEAR
age используя метод addBodyContent()
№2 Логично ли содержать все текстовые блоки в одном шаблоне, а затем используя метод get(‘Название блока’), передавать его др. объекту?
№2.1 Хотя начинаю думать и так…каждый блок лучше держать в отдельном шаблоне (LeftBoxNavy.html, LeftBoxText.html и т.п.) ?
Как поступают вообще в таких ситуациях?
Хотелось бы разобраться в следующих вещах. Представим себе ситуацию. Есть шаблон template.html. Данный шаблон содержит различные блоки для разбора, к примеру 1-LeftBoxNavy, 2-LeftBoxText, 3-CenterInfo, 4-RigtBoxNavy, 5-RightBoxText. (Под блоками надо понимать <table>…</table>). Каждая генерируемая страница может содержать от одного до нескольких представлений этих блоков.
PHP:
…
$variant1 = array('foo1', 'bar1', 'baz1', 'quux1');
$variant2 = array('foo2', 'bar2', 'baz2', 'quux2');
$tpl->loadTemplateFile('template.html');
//
$tpl->setCurrentBlock('LeftBoxNavy');
for ($i = 0; $i < count($variant1); $i++) {
$tpl->setVariable('object', $variant1[$i]);
$tpl->parse('block_1');
}
$str1= &$tpl->get('LeftBoxNavy'); // первое представление блока
/* далее делаю все тоже самое, но хочу лишь изменить информацию, то есть вывести массив $variant2*/
$tpl->setCurrentBlock('LeftBoxNavy');
for ($i = 0; $i < count($variant2); $i++) {
$tpl->setVariable('object', $variant2[$i]);
$tpl->parse('block_1');
}
$str2= &$tpl->get('LeftBoxNavy'); // второе представление блока
№1. Как это реализовать, используя метод replaceBlock() и возможно ли это??
Вообще я преследую такую идею. Далее передавать str1 и str2 в PEAR

№2 Логично ли содержать все текстовые блоки в одном шаблоне, а затем используя метод get(‘Название блока’), передавать его др. объекту?
№2.1 Хотя начинаю думать и так…каждый блок лучше держать в отдельном шаблоне (LeftBoxNavy.html, LeftBoxText.html и т.п.) ?
Как поступают вообще в таких ситуациях?