- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть цикл, как его данные вывести в три колонки таблицы?
<li>
<a href="<?php echo $category->link; ?>" class="category"><?php echo $this->escape($category->name);?></a>
</li>
<?php endforeach; ?>
webiumpro, все по прежнему вывелось в 1 столбик
так как это меню, я бы css использовал
Это не меню.
Попробовал так, тоже что-то не получилось, пытаюсь понять почему
<?php foreach ($this->categories as $category) : ?>
<?php
$i++;
$count = count($this->categories);
$limit = $count/3;
var_dump($limit);
var_dump($i);
?>
<table>
<tr>
<td>
<?php
if ($i < $limit){
echo "<a href=". $category->link." class=\"category\">". $this->escape($category->name)."</a>";
}
?>
</td>
<td>
<?php
if ($i > $limit && $i <= ($limit*2)){
echo "<a href=". $category->link." class=\"category\">". $this->escape($category->name)."</a>";
}
?>
</td>
<td>
<?php
if ($i > ($limit*2)){
echo "<a href=". $category->link." class=\"category\">". $this->escape($category->name)."</a>";
}
?>
</td>
</tr>
</table>
<?php endforeach; ?>
---------- Добавлено 09.07.2019 в 09:14 ----------
А блин таблица то внутри цикла :))
Так вы одну одну и ту же категорию пытаетесь в 3 ячейки запихать) Если вы хотите, чтобы именно категории в 3 столбца выводились, тот тут действительно будет проще с помощью CSS тогда решить. Сетка того же bootstrap подойдет
---------- Добавлено 09.07.2019 в 12:27 ----------
Условия самостоятельно расставите)
Условия самостоятельно расставите)
Если бы я понял вашу дею, то расставил бы, а так пока не догоняю :))
Если бы я понял вашу идею, то расставил бы, а так пока не догоняю )
Вы знаете, как сетка bootstrap работает? Идея в том, что каждый блок с классом col-md-4 - это столбец, который занимает треть ширины от всей строки. Если бы я понимал, зачем вам условия со счетчиком и лимитами, то привел бы пример сразу с этими условиями)
Я не хочу тянуть лишний css, уверен что можно обойтись только php
Есть список полученный в цикле длинной N. Хочу его разбить на три колонки чтобы не такой блинный был.
Буду дальше мучать спс.
Кажется придумал - нужно добавлять к ссылкам float: left; если только $i не делится на 3
---------- Добавлено 09.07.2019 в 09:50 ----------
Все сделал!
<?php foreach ($this->categories as $category): ?>
<?php
$i++;
if ($i % 3 == 0){
$float = "";
}else {
$float = "float: left;";
}
?>
<div style="<?php echo $float; ?>">
<a href="<?php echo $category->link; ?>" class="category"><?php echo $this->escape($category->name); ?></a>
</div>
<?php endforeach; ?>
</div>
Это не лишний css) Необязательно тянуть весь бутстрап, его сетку можно подключить отдельно. Если не хотите ее подключать, то самостоятельно такой код в css написать тоже проще простого, используя свойство flex. PHP вам здесь вообще не нужен и нагромождение условий - тоже. Рендеринг шаблонов должен быть максимально отделен от php-кода, насколько это возможно
Я не хочу тянуть лишний css
Прошло время телефонного интернета, сейчас сайты грузятся за 1 секунду, даже с учетом подключенных бустрапов, java и т.д. Современному сайту никуда от этого не деться, а преимущество на лицо.