Куда идем?

VirtueMart Category List проблемы отображения

Больше
9 года 7 мес. назад #7346 от swear000
Установлен стандартный модуль вывода категорий на главной. И возникли проблемы с выводом. Number of Columns 4

так не надо

как исправить чтобы показывалось нормально

надо так

joomla 1.5 virtuemart 1.1.5

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #7347 от Wedal
swear000, покажите действующий пример.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад - 9 года 7 мес. назад #7348 от swear000
пример
Последнее редактирование: 9 года 7 мес. назад пользователем swear000.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #7349 от Wedal
swear000, посмотрел. Правкой только CSS тут не обойтись. Нужно переписывать код макета модуля вывода этих категорий.
Попробуйте этот модуль: wedal.ru/rasshireniya-joomla/virtuemart-internet-magazin-na-joomla-chast-18-vivod-kategoriy-virtuemart-s-izobrazeniyami-na-glavnoy-stranice-saita.html

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #7350 от swear000
поставила этот модуль (тот что стоял до этого по коду такой же). ничего не изменилось.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #7351 от Wedal
swear000, Virtuemart старый, модуль - тоже. Сейчас написал бы все совсем иначе. А так, нужно править код макета. В этом модуле есть строка:
Code:
for ($kp = 0; $kp < $countCategories; $kp++) {
Она запускает цикл перебора категорий. Внутри этого цикла формируется код. Если вы хоть немного разбираетесь в PHP, то для вас не составит труда переписать его таким образом, чтобы не было никаких таблиц, а каждая категория выводилась в отдельном DIV'е с заданным CSS-классом. Этого достаточно. Остальное - правка CSS. Я переписал бы его, но уже давно не использую VM 1.1.x.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад - 9 года 7 мес. назад #7352 от swear000
в php плохо разбираюсь ((( я смотрела этот цикл, пыталась изменить, но не понимаю смысл float=1 и float=0

Code:
for ($kp = 0; $kp < $countCategories; $kp++) { if ( $columns == 1 ) { echo '<table border="0">'; } else { $float = 0; foreach ($begin as $key2 => $value2) { if ($kp == $value2) { $float = 1; } } if ($float == 1) { echo '<div style="position:relative;float:left;margin-top:10px;margin-left:20px;margin-right:20px; margin-bottom:0px;"><table border="0" cellpadding="0" cellspacing="0">'; } } echo '<tr>'; if ($displayImg == 2) { echo '<td align="center"><div class="tov-img"><a href="'. $sess->url( URL .'index.php?page=shop.browse&amp;category_id=' . $categories[$kp] ['category_child_id']). '">'. ps_product::image_tag( $categories[$kp]["category_thumb_image"], "alt=\"".$categories[$kp] ["category_name"]."\"", 0, "category") . '</a></div> <div class="tov-title">'.$categories[$kp]['category_name'].'</div> </td></tr><tr>'; } else if ($displayImg == 1) { echo '<td align="center">'. JHTML::_('image', 'modules/mod_virtuemart_category_list/assets/images/icon-folder-small.png', $categories[$kp] ['category_name']). '</td>'; } echo '</tr>'; if ( $columns == 1 ) { echo '</table>'; } else { if ($kp == $endFloat) { echo '</table></div><div style="clear:both"></div>'; } else { $float = 0; foreach ($end as $k => $v) { if ($kp == $v) { $float = 1; } } if ($float == 1) { echo '</table></div>'; } } } }
Последнее редактирование: 9 года 7 мес. назад пользователем swear000.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #7353 от Wedal
swear000, удаляйте это всё.
Оставьте в цикле только
Code:
<div class="mod_vm_category"> <div class="tov-img"> <a href="<?php echo $sess->url( URL .'index.php?page=shop.browse&amp;category_id=' . $categories[$kp] ['category_child_id']). ?>"> <?php echo ps_product::image_tag( $categories[$kp]["category_thumb_image"], "alt=\"".$categories[$kp] ["category_name"]."\"", 0, "category") ?> </a> </div> <div class="tov-title"> <a href="<?php echo $sess->url( URL .'index.php?page=shop.browse&amp;category_id=' . $categories[$kp] ['category_child_id']). ?>"> <?php echo $categories[$kp]['category_name']; ?> </a> </div> </div>
После этого у вас должен появиться список категорий в один столбик, друг под другом.
Если всё так, в CSS добавите:
Code:
.mod_vm_category{ width: 30%; float:left; }
Ну и дальше подправите CSS под свои нужды.
Спасибо сказали: swear000

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад - 9 года 7 мес. назад #7355 от swear000
спасибо что указали направление движения.
вот готовый цикл
Code:
for ($kp = 0; $kp < $countCategories; $kp++) { echo "<div class='mod_vm_category' style='float:left;width:".$cellwidth."%;'>"; echo "<div class='tov-img'>"; echo ' <a href="'.$sess->url( URL .'index.php?page=shop.browse&amp;category_id=' . $categories[$kp] ['category_child_id']).'"> '.ps_product::image_tag( $categories[$kp]["category_thumb_image"], "alt=\"".$categories[$kp] ["category_name"]."\"", 0, "category") .' </a> </div> <div class="tov-title">'; echo ''.$categories[$kp]['category_name'].''; echo "</div>"; echo '</div>'; }



перед циклом нужно разместить строку
Code:
$cellwidth = intval( (100 / $numColumns )-2 );


тогда модуль будет подстраиваться под кол-во категорий в строке, которые задаются через админку
Последнее редактирование: 9 года 7 мес. назад пользователем swear000.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.