Пётр, только не .shop{float; left} а .shop{float: left} Так тоже можно, но это будет не "три колонки", а две или пять, в зависимости от разрешения экрана
Все просто!
Файл /modules/shop/shop.view.php
функция first_page для первой страницы каталога (http://art-narod.ru/shop/) или функция list_ для списка (http://art-narod.ru/shop/cat11/)
//товары в разделе
Обратите внимание, открывается таблица
Код
echo '<table class="shop-block">';
затем есть переменная $k=0;
Если $k пустая, то выводится еще одна колонка: </td><td> и в конце переменная делается не пустой ($k=1-$k;). Тогда в очередной цикл она проверится и уже откроется новая строка.
По тому же принципу Для списка в категории функция list_, для первой страницы магазина - функция first_page Сами попробуете для опыта, или поправить файл?
Ребята, давайте я один раз напишу принцип и вы будете его применять везде сами, как сильные программисты? В HTML есть такое понятие, как таблица:
Код
<table> - это таблица
<tr> - это 1 строка
<td></td> - это 1 колонка 1 строки
<td></td> - это 2 колонка 1 строки
</tr>
<tr> - это 2 строка
<td></td> - это 1 колонка 2 строки
<td></td> - это 2 колонка 2 строки
</tr>
<tr> - это 3 строка
<td></td> - это 1 колонка 3 строки
<td></td> - это 2 колонка 3 строки
</tr>
</table>
Видите принцип?
По краям стоит <table></table> Каждая строка начинается и заканчивается <tr></tr> И внутри каждой строки есть колонки <td>содержимое</td> Т.е. у нас в таблице повторяются <tr></tr> - это строки в таблице, а в каждой строке повторяются по две колонки <td></td>.
Соответственно, чтобы в РНР вывести таблицу надо сделать цикл:
Код
echo "<table>";
цикл { //for или while или foreach
echo "<tr><td></td><td></td></tr>";
}
echo "</table>";
Понятно? Если будет цикл в 3 круга, этот код выведет таблицу с тремя строками и двумя колонками в каждой, как в примере выше.
Теперь: если у вас один цикл, в котором куча товаров выводятся подряд, один за одним:
Код
foreach {
вывод товара;
}
и их надо вывести в две колонки, что надо сделать? Первым делом надо вывести снаружи цикла таблицу.
Код
<table>
foreach {
вывод товара;
}
</table>
Почему снаружи, а не в цикле? Потому, что таблица одна будет.
Теперь каждое содержимое цикла надо выводить в ячейке таблицы. Для этого надо вывести начало строки <tr> и начало колонки <td>. Затем вывести содержимое цикла и закрыть колонку и строку:
Этот цикл выведет товары в одну колонку, а нам надо в две.
Т.е. надо <tr> <td>один товар</td> и еще раз <td>второй товар</td> </tr> Или другими словами в цикле надо первый раз вывести
Затем то же самое снова:
первая колонка - вторая
первая-вторая
первая-вторая
и т.д.
Для этого нам надо знать, какой товар по счету выводится, первый или второй. Введем любую переменную $pipka и будем ею считать колонки:
Код
<table>
$pipka=0; //сделаем наш счетчик 0, чтобы понимать, что не выведено пока ничего и будет выводиться первая колонка
foreach {
if ($pipka==0) echo "<tr>"; //т.е. выводим tr для первого раза, когда счетчик
echo "<td>"; вывод товара;
echo "</td>"; $pipka++; // делаем наш счетчик +1, потому, что товар вывели
if ($pipka==2) { echo "</tr>"; $pipka=0; } // если первый товар выведен, то $pipka будет равна 1 и строка </tr> не закроется. А если уже второй раз цикл пройдется, то $pipka станет 2 и тогда </tr> закроется и $pipka станет 0, для очередного цикла. И тогда сработает первое условие if ($pipka==0) которое откроет новую строку.
}
</table>
Таким образом цикл настрочит таблицу с кучей строк и с двумя колонками, в каждой из которых будет товар!
Сколько времени... Много! С час точно.
Но это уже третий раз только на форуме, когда спрашивают одно и тоже, только для разных в оформлении функций. Лучше потом сюда сослать и не отвечать, чем каждому править! Замечание... Если бы я еще про закрытие ячеек стал рассказывать, я бы завис еще на полчаса... Начинающим и так сойдет! Потом копнут, сами поправят!
Ребят, надоело, честно. Это первый класс программирования. К diafan.CMS отношения прямого не имеет. Эта тема максимально информационна, проще рассказать я не могу. Если тему замусорить файлами "Сделайте мне", "И мне сделайте то же самое", "И мне", "И для меня" и так далее еще 50 человек одно и то же - несерьезно. Могу только посоветовать echo "1"; Ставьте "методом тыка", смотрите: где выходит, сколько раз выходит, после чего выходит, делайте выводы.
Если не можете разобраться с примитивным циклом одной вложенности, то лучше бросить программирование, заказать у программиста эту доработку за пару сотен рублей и пару минут и все.
Это как отбивочная линия, типа невидимого HR. Между слоями.
Если Вы контролируете блоки сами, ячейками таблиц, то можете удалить. Или оставить как есть сейчас.
Немного подправлю пост с учетом актуальности последних версий Можно так, как пишет Петр. А можно шаги 3-7 пропустить, а вместо шага 9 в "Дополнительно" в поле javascript вписать то, что выдал Яндекс. Затем уже на шаге 10 в HTML источник вставляется оставшийся код, как описано.
Не, тут не совсем так. Сейчас перелинковка идет больше для пользователей, а не для сео. Для поисковым систем вес ссылки выше, если нет обратной. В нашем случае получается, что каждый товар ссылается друг на друга, а это гасит весь эффект. Чтобы что-то было от перелинковки в плане веса - лучше оставить ссылки только "Следующий" и убрать "Предыдущий". Тогда каждая страница будет качать следующую, что получше.
Конечно, надо заниматься в целом исходящими ссылками на странице. Идеально, когда с главной страницы идет ссылка только на карту сайта. С карты - только на страницы 2УВ, далее глубже. А со всех внутренних страниц идет только ссылка на главную.
Вот тогда у главной будет такой вес, что ух-х
Мы обновили систему тарифов, учитывая опыт работы с клиентами и современные рыночные условия. Новая тарифная сетка разработана специально для того, чтобы лучше отвечать вашим потребностям. Резкого повышения цен не произошло. Более того, некоторые тарифы даже стали выгоднее и доступнее.
В преддверии 2025 года была выпущена сборка 7.2.5, которая не приносит радикальных изменений в функциональности, но способствует повышению стабильности работы системы и расширению возможностей облачного сервиса для создания сайтов.