Замена кнопки "Добавить в корзину" сообщением об отсутствии товара TPL

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 2.9

Создание шаблонов

Для вывода вместо кнопки "добавить в корзину" сообщения "Товара нет в наличии" мы можем

использовать стандартный макрос %emarket stores()%

Создадим в папке templates\demoold\tpls\catalog\ новый шаблон preview_out_product.tpl

Скопируем туда содержимое шаблона templates\demoold\tpls\catalog\preview.tpl и заменим содержимое $FORMS['view_block'] на:

	<div class="item" umi:element-id="%id%">

		<table border="0">
			<tr>
				<td style="vertical-align:top;" umi:element-id="%id%" umi:field-name="photo">
					%data getProperty(%id%, 'photo', 'preview_image')%
				</td>
				<td style="padding-left: 15px; vertical-align:top;">
					<a href="%link%" umi:element-id="%id%" umi:field-name="name" class="title">%name%</a>
					%data getProperty(%id%, 'price', 'catalog_preview')%
					%data getPropertyGroup(%id%, 'short_info', 'catalog_preview')%
				</td>
			</tr>
		</table>


		<div style="clear: both; margin-top: 10px; padding-bottom: 10px;">
			%emarket stores(%id%, 'out_product')%
			<a href="%pre_lang%/emarket/addToCompare/%id%/" rel="nofollow">Добавить к сравнению</a>
			| <a href="%link%#comments" >Комментарии (%comments countComments(%id%)%)</a>
		</div>
	</div>
Теперь в папке templates\demoold\tpls\emarket\stores\ создаем шаблон out_product.tpl и вставляем туда:
<?php
$FORMS = array();

$FORMS['stores_block'] = <<<END

	%items%

END;

$FORMS['stores_block_empty'] = <<<END
<h5>Товара нет в наличии</h5>
END;

$FORMS['stores_item'] = <<<END
	%emarket basketAddLink(%id%)%
END;
?>
Создадим в папке templates\demoold\tpls\catalog\ новый шаблон catalog_object_out_product.tpl и

скопируем туда содержимое шаблона templates\demoold\tpls\catalog\default.tpl В блоке $FORMS['objects_block_line'] заменим содержимое на:

	%catalog viewObject(%id%, 'preview_out_product')%
Теперь все товары у нас будут с сообщением "Товара нет в наличии". Для того, что бы вместо этого сообщения

появлялась кнопка добавления товара в корзину нам надо через административную панель, отредактировать товар добавив его наличие на любом из складов. Как только к товару добавиться наличие на складе вместо сообщения об отсутствии товара будет выводится кнопка добавления товара в корзину.