Куда идем?

Страница категорий товаров."Скачут" изображения

Больше
12 года 11 мес. назад #1975 от kryon
Как избавиться от "скачков" изображений категорий товаров при разной длине названий этих категорий:
[IMG

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

Больше
12 года 11 мес. назад #1976 от Wedal
kryon, самый простой способ - поместить эти карточки в таблицу и выровнять по вертикали. Если использовать только DIV'ы, то уже сложнее. Там начинаются проблемы с IE. В интернете встречал несколько нормальных вариантов на Div'ах. Ищите.

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

Больше
12 года 11 мес. назад #1978 от kryon
Wedal, чтобы "поместить в таблицу и выровнить" мне потребуется лезть в код browse_x.php? Подскажите с чего начать..

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

Больше
12 года 11 мес. назад #1986 от Wedal
kryon, если речь идет о категории товаров, то да. Также загляните в папку includes папки browse там вам понадобится один из файлов layout.

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

Больше
12 года 11 мес. назад #1994 от kryon
Wedal, речь о главной странице категорий, файл - categoryChildlist.tpl.php.
Здесь получается, что каждая карточка со своим именем имеет одну общую ячейку. Считаю, что поэтому при слишком длинном названии категории приподнимается и ее изображение, а выходом будет - поместить в отдельную таблицу имя каждой категории. Как я ни старался - ничего не выходит. Помогите..
Код:
Code:
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); mm_showMyFileName(__FILE__); $iCol = 1; if( !isset( $categories_per_row )) { $categories_per_row = 3; } $cellwidth = intval( 100 / $categories_per_row ); if( empty( $categories )) { return; // Do nothing, if there are no child categories! } ?> <br/> <table width="100%" cellspacing="0" cellpadding="0" border="1"> <?php foreach( $categories as $category ) { if ($iCol == 1) { // this is an indicator wether a row needs to be opened or not echo "<tr>\n"; } ?> <td align="center" width="<?php echo $cellwidth ?>%" > <br /> <a title="<?php echo $category["category_name"] ?>" href="<?php $sess->purl(URL."index.php?option=com_virtuemart&amp;page=shop.browse&amp;category_id=".$category["category_id"]) ?>"> <?php if ( $category["category_thumb_image"] ) { echo ps_product::image_tag( $category["category_thumb_image"], "alt=\"".$category["category_name"]."\"", 0, "category"); echo "<br /><br/>\n"; } echo $category["category_name"]; echo $category['number_of_products']; ?> </a><br/> </td> <?php // Do we need to close the current row now? if ($iCol == $categories_per_row) { // If the number of products per row has been reached echo "</tr>\n"; $iCol = 1; } else { $iCol++; } } // Do we need a final closing row tag? if ($iCol != 1) { echo "</tr>\n"; } ?> </table>

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

Больше
12 года 11 мес. назад - 12 года 11 мес. назад #2010 от kryon
Спасибо, что больше никто не отозвался! Пока искал выход, много чего освоил.
А выход, как всегда, очень простой:
- в том же коде файла categoryChildlist.tpl.php поменять
Code:
<td align="center" width="<?php echo $cellwidth ?>%" >

на
Code:
<td align="center" VALIGN="TOP" width="<?php echo $cellwidth ?>%" >

Таким образом, теперь не карточка товара подстраивается под текст, а наоборот... Просто выполнили вертикальное выравнивание по верхнему краю, а не по центру как было.
Последнее редактирование: 12 года 11 мес. назад пользователем kryon.

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

Больше
12 года 11 мес. назад #2013 от Wedal
kryon, а, так они уже и были в таблице. Тогда всё верно, только нужно:
VALIGN="TOP"

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

Больше
12 года 11 мес. назад #2018 от kryon
Точно, кавычки уже добавил

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