я хочу перечислить записи в следующем формате в Smarty шаблон страницыКак я могу сделать запись стиль в следующем формате в шаблоне Smarty
1 3 5 ...
2 4 6 ...
там должен быть ул
Li 1
в этом формате
я хочу перечислить записи в следующем формате в Smarty шаблон страницыКак я могу сделать запись стиль в следующем формате в шаблоне Smarty
1 3 5 ...
2 4 6 ...
там должен быть ул
Li 1
в этом формате
Есть Smarty цикл через массив в два раза, используя «шаг» модификатор, чтобы пропустить все-другую запись:
<ul>
{section name=index loop=$myList start=0 step=2}<li>{$myList[index]}</li>{/section}
</ul>
<ul>
{section name=index loop=$myList start=1 step=2}<li>{$myList[index]}</li>{/section}
</ul>
Объединить, что с помощью CSS display:block; width:50px;
или display:inline-block
(хотя не все браузеры поддерживают " inline-block "), и вы должны получить внешний вид, который вам нужен.
AFAIR ни HTML/CSS, ни Smarty д oesn't не предоставляет никаких функций для работы с таким макетом, поэтому я боюсь, что вам нужно будет создать n/2 списка, и каждый список должен отображаться как элемент inline-block (CSS: display: inline-block;
).
$myList = array(1, 2, 3, 4, 5, 6);
$listsCount = ceil(count($myList)/2);
for ($i = 0; $i < $listsCount; ++$i) {
echo 'UL';
for ($j = $i * 2; $j < $i * 2 + 2; ++$j) {
echo 'LI ' . $myList[$j] . '/LI';
}
echo '/UL';
}
Не уверен, что ваш код делает то, что вы думаете, что он делает ... В вашем коде генерируются три UL, и если вы используете встроенный блок для стека LI по горизонтали, вы получите «1 2» в первой строке, «3 4 «на следующем и« 5 6 »на третьем, делая вертикальный список, а не горизонтальный. – MidnightLightning
ok thanx для вашего ответа очень полезно. –