Какую библиотеку вы используете при генерированию HTML кода?

dimitrius

Новичок
Какую библиотеку вы используете при генерированию HTML кода?
Или более конкретизировано: стоит вопрос использовать DOM или что-то еще?
Достаточно ли удобно генерировать HTML код с помощью DOM?
 

dimitrius

Новичок
а если необходимо добавить неопределенное количество строк в таблицу?
 

AmdY

Пью пиво
Команда форума
PHP:
<table>
<? foreach($rows AS $row) { ?>
<tr>
    <td><?=$row['cell0']?></td>
    <td><?=$row['cell1']?></td>
.....
</tr>
<? } ?>
</table>
 
  • Like
Реакции: HEm

workOnFood

Новичок
dimitrius

А что не понятно? Есть цикл, есть html, есть вывод данных из массива. Остальное по аналогии.
 

dimitrius

Новичок
PHP:
<table width="100%" border="0" cellpadding="1" cellspacing="0" bgColor="#0033cc">
<tr >
<? for ($i=0; $i<count($p_items); $i++)
{
$name=$p_items[$i]['name'];
$link=$p_items[$i]['link'];
$selected=$p_items[$i]['selected'];
?>
<td noWrap bgColor="<?= ($selected)? "#CCCCCC" : "#0033cc" ?>"
<? if (!$selected) { ?>
<a <? if ($external) { ?> target ="_blank" <? } ?> href="<?=$link ?>"> <?=$name?> </a>
<? } else { ?>
<?=$name?>
<? } ?>
</td>
<? } ?>
</tr>
</table>
вы в таком стиле делаете шаблоны?
 

dimitrius

Новичок
PHP:
<table width="950" border="1">
  <tr>
    <th colspan="3" scope="col">&nbsp;</th>
    <th width="200" scope="col">Название кирилицей</th>
    <th width="200" scope="col">Название латиницей</th>
    <th width="200" scope="col">Родительский каталог</th>
    <th width="200" scope="col">Дочерний каталог</th>
  </tr>
 <? foreach ($this ->category as $id => $name) {?>
  <tr>
    <td width="22"><input name="Nodes" type="checkbox" value="<?=$id ?>" /></td>
    <td width="69"><a href="<?=$id ?>" title="Изменить" target="_self">Изменить</a>        </td>
    <td width="63">
      <a href="<?=$id ?>" title="Удалить" target="_self">Удалить</a
    ></td>
    <td><?=$name['kyr_name'] ?></td>
    <td><?=$name['lat_name'] ?></td>
    <td><select name="parent<?=$id ?>" style="width:200px">
	
	<? if($parentNodes = $this ->graphHandler ->directParentNodesSQL($id, 2)) {foreach ($parentNodes as $idParent => $nameParent) {?>
      <option value="<?=$idParent ?>"><?=$nameParent['kyr_name'] ?></option>
	<? } }?>
    </select></td>
    <td><select name="parent" style="width:200px">
      <option value="02">статуэтки</option>
      &nbsp;
    </select></td>
  </tr>
 <? }?>
</table>
я вот такое настрочил, но назвать это шаблоном у меня язык не поднимается, литературы(кроме smarty) не нашел, помогите
 

workOnFood

Новичок
А что собственно не устраивает? Как по твоему должен выглядеть шаблон?
 

Absinthe

жожо
Учить иностранный язык по словарю тоже можно.
Там не только спецификация, а довольно полное литературное описание и примеры. Если не поймешь - программирование не твое.

$parentNodes = $this ->graphHandler ->directParentNodesSQL($id, 2)
Вынести в отдельную переменную для шаблона. Делать не в шаблоне.

или на native php большенство шаблонов совмещают логику?
Только логику отображения.
 

dimitrius

Новичок
Там не только спецификация, а довольно полное литературное описание и примеры. Если не поймешь - программирование не твое.

Вынести в отдельную переменную для шаблона. Делать не в шаблоне.

Только логику отображения.
Спасибо за помощь.
 

Фанат

oncle terrible
Команда форума
$this ->graphHandler ->directParentNodesSQL($id, 2)
За такое в шаблоне надо по рукам бить.
Если в коде шаблона присутствует слово SQL - его писал идиот.
А что МВЦ? Чем конкретно логика в шаблоне противоречит МВЦ?
"Ты не умничай, ты руками покажи."
Пример приведи - как, по-твоему, должен выглядеть шаблон.
 

dimitrius

Новичок
За такое в шаблоне надо по рукам бить.
Если в коде шаблона присутствует слово SQL - его писал идиот.
или новичок-любитель(идиот)

А что МВЦ? Чем конкретно логика в шаблоне противоречит МВЦ?
sql как раз был вопрос

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

Фанат

oncle terrible
Команда форума
вы в таком стиле делаете шаблоны?
почти.
PHP:
<table width="100%" border="0" cellpadding="1" cellspacing="0" bgColor="#0033cc">
  <tr >
<? foreach ($p_items as $row): ?>
    <td style="row_<?=$row['selected']?>">
<?   if (!$row['selected']) : ?>
      <a href="<?=$row['link']?>" <? if ($row['external']): ?> target ="_blank" <? endif ?>><?=$row['name']?></a>
<?   else: ?>
      <?=$name?>
<?   endif ?>
    </td>
<? endforeach ?>
  </tr>
</table>
в принципе, если сразу после foreach(): написать extract($row); то можно обращаться к переменным по именам, а не как к элементам массива.

Вообще пример хороший. Показывает, что логики отображения может быть в шаблоне до черта. И при этом без неё НИКАК не обойтись.
 
Сверху