[Помощь] Добавить изображения для субкатегорий в WebAsyst

Romeg

Создатель
Регистрация
1 Июл 2008
Сообщения
14
Реакции
0
Нужно добавить картинку к каждой подкатегории, чтоб в итоге, при нажатии на категорию, справа разворачивался список подкатегорий в три столбца и с изображением к каждой подкатегории (в общем так же как и у родительских категорий). Возможно ли это...
 
2 Romeg:
Да, это возможно.
Если вы знакомы со smarty и php, то там дела на 10 минут.
 
Вывод изображения субкатегории и расположение в столбцы:
1. Ищешь файл category_functions.php
исправляешь в нем строку (768 строка:(
HTML:
$q = db_query("SELECT categoryID, ".LanguagesManager::sql_prepareField('name')." AS name, products_count, slug FROM ".
на:
HTML:
$q = db_query("SELECT categoryID, ".LanguagesManager::sql_prepareField('name')." AS name, products_count, slug, picture FROM ".
2. Открываешь файл category.tpl.html
и заменяешь(48,49 строка)
HTML:
<a href="{$_sub_category_url}">{$subcategories_to_be_shown[i][1]}</a>
		 ({$subcategories_to_be_shown[i][2]})<br />
на:
HTML:
<table border="1" colspan="1" width="100%">
<tr><td><center><a href="{$_sub_category_url}"><img border=0 src="{$smarty.const.URL_PRODUCTS_PICTURES}/{$subcategories_to_be_shown[i][4]}" alt="" title="{$subcategories_to_be_shown[i][1]|escape:'html'}" /></a></center></td></tr>
<tr><td><center>
<a href="{$_sub_category_url}">{$subcategories_to_be_shown[i][1]}</a>
		 ({$subcategories_to_be_shown[i][2]})</center></td></tr></table>
должно получиться
можно добавить alt к изображению
HTML:
alt="{$subcategories_to_be_shown[i][1]|escape:'html'}"
но тогда, если не загружено фото, то будут дублироваться субкатегории

в main.css добавить
HTML:
.cat_pict_left_block
	{width: 210px;
	height: 150px;font-size:120%;float:left;}
.cat_pict_left_block a
	{font-size:120%;}
 
Субкатегории в три столбца

А как изменить количество столбцов? нужно. например. чтобы субкатегории выводились не в один, а в три столбца...
?
 
А как изменить количество столбцов? нужно. например. чтобы субкатегории выводились не в один, а в три столбца...
?
Можно просто поместить выводимые ссылки в DIV-ы и задать через CSS float:left; width:33%;. Это делается в category.tpl.html.
 
Люди, а подскажите, можно ли сделать так, чтобы картинки, для этих целей, можно было бы подгружать самому, а не использовать лого подкатегорий?
 
можно немного подробней применително к коду выше?

Приблизительно так, думаю смысл понятен. Выводимые ссылка и фото будут помещены в контейнер с выравниванием влево и шириной 33%. Если задать 25%, то столбцов будет уже 4. Если 50% - то 2.... и т.д.
 
Я вот решил разделить товары линиями внизу, но, линия отображается только в первой колонке, а как отобразить эту же линию в остальных колонках? Вот мой код (линия, выделена синим:(
Код:
<div id="cat_info_left_block">
	{* description *}
	{$selected_category.description}
	{if $subcategories_to_be_shown}
	{* show subcategories *}
		<table>
			{section name=i loop=$subcategories_to_be_shown}
			{if $smarty.section.i.index is div by 3}
            	<tr>
			<td width="1%" rowspan="2" align="center"><hr style="color: #6794B7; height: 100px; width: 1px;"></td>
			{/if}
			<td width="33%" align="center">
			{if $subcategories_to_be_shown[i][3]}
				{assign var=_sub_category_url value="?categoryID=`$subcategories_to_be_shown[i][0]`&category_slug=`$subcategories_to_be_shown[i][3]`"|set_query_html}
			{else}
				{assign var=_sub_category_url value="?categoryID=`$subcategories_to_be_shown[i][0]`"|set_query_html}
			{/if}
				<table width="100%">
					<tr>
						<td align="center"><a href="{$_sub_category_url}"><img border="0" src="{$smarty.const.URL_PRODUCTS_PICTURES}/{$subcategories_to_be_shown[i][4]}" alt="" title="{$subcategories_to_be_shown[i][1]|escape:'html'}" /></a></td>
					</tr>
					<tr>
						<td align="center"><a href="{$_sub_category_url}">{$subcategories_to_be_shown[i][1]}</a>&nbsp;({$subcategories_to_be_shown[i][2]})</td>
					</tr>
				</table><br />
			</td>
			<td width="1%" rowspan="2" align="center"><hr style="color: #6794B7; height: 100px; width: 1px;"></td>
				{if ($smarty.section.i.index + 1) is div by 3}
				</tr>
				<tr>
					<td>[B][COLOR="Blue"]<hr size="1px" style="color:#6794B7">[/COLOR][/B]</td>
		</tr>
			{/if}
			{/section}
		</table>
	{/if}
</div>
 
*** скрытое содержание ***
Приблизительно так, думаю смысл понятен. Выводимые ссылка и фото будут помещены в контейнер с выравниванием влево и шириной 33%. Если задать 25%, то столбцов будет уже 4. Если 50% - то 2.... и т.д.

Выводятся как-то коряво, как бы красивенько сделать в равные строки и столбцы. Вот что получилось с дивами:

 
Назад
Сверху