Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Текст на кнопках в зависимости от наличия товара


Recommended Posts

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

Сделал правки ланга, но это срабатывает только на странице категорий http://greatsoundshop.ru/elektroguitars/.

 

В языковом файле /site.ru/catalog/language/russian

Заменил

$_['button_quote']          = 'Узнать цены';$_['button_zakaz']          = 'Предзаказ' ;

 
 

Не применяется на главной, производителе, страницах тегов.

Какой ланг править, куда копать?

 

 

 

В настройках задано:

 

Заказ при нехватке на складе:
Разрешить клиентам оформлять заказ, если заказываемых товаров на данный момент нет на складе.

 

 

Статус "Нет на складе":
Статус "Нет на складе" по умолчанию при редактировании товара.                                                        В наличии                                                                         Импорт / Таможня                                                                         Нет в наличии                                                                         Ожидание 2-3 дня                                                                         Предзаказ                                                                         Продана                                                     

 

Локализация > Состояние на складе

 

Предзаказ (По умолчанию)

 

Надіслати
Поділитися на інших сайтах


У меня это было реализованно через vqmod, в файле xml

<file name="catalog/view/theme/*/template/product/category.tpl,catalog/view/theme/*/template/product/search.tpl,catalog/view/theme/*/template/product/manufacturer_info.tpl,catalog/view/theme/*/template/product/special.tpl,catalog/view/theme/*/template/product/compare.tpl">
<operation>
<search position="replace" error="skip"><![CDATA[<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />]]></search>
<add><![CDATA[ <?php if ($product['stock_qty'] <= 0) { ?>
<input type="button" value="Предзаказ" style="font-size: 15px;" class="button"/>
<?php } else { ?>
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /> <?php } ?>
]]></add>
</operation>
</file>



в перечисленных файлах category.tpl, search.tpl, manufacturer_info.tpl, special.tpl и compare.tpl, при отсутствии в наличии товара кнопка "Купить", будет заменена на "Предзаказ".



Проверенно на ocStore 1.5.5.1.2, но не срабатывает если есть с модуль "FilterPro".

Надіслати
Поділитися на інших сайтах

antskachkov, Спасибо. Очень помог комментарий.

Переписал вьюсы. В них не было переменной по количеству товара, пришлось переписать и контроллеры.

 

Теперь все работает для главной модуль latest - новые поступления, тегов, категорий, производителей.

Надіслати
Поділитися на інших сайтах


<modification>
	<id>Predzakaz</id>
	<version>1</version>
	<vqmver>2.1.0</vqmver>
	<author>GreatGeek</author>
    <file name="catalog/controller/product/category.php">
        <operation error="skip">
            <search position="after"><![CDATA[
			$this->data['text_limit'] = $this->language->get('text_limit');
			]]></search>
            <add><![CDATA[
			$this->data['button_zakaz'] = $this->language->get('button_zakaz');
			]]></add>
        </operation>
        <operation error="skip">
            <search position="after"><![CDATA[
					'product_id'  => $result['product_id'],
			]]></search>
            <add><![CDATA[
					'quantity'	  => $result['quantity'],
			]]></add>
        </operation>	
    </file>

        <file name="catalog/controller/module/latest.php">
        <operation error="skip">
            <search position="after"><![CDATA[
			$this->data['heading_title'] = $this->language->get('heading_title');
			]]></search>
            <add><![CDATA[
			$this->data['button_zakaz'] = $this->language->get('button_zakaz');
			]]></add>
        </operation>
        <operation error="skip">
            <search position="after"><![CDATA[
					'product_id' => $result['product_id'],
			]]></search>
            <add><![CDATA[
					'quantity'	  => $result['quantity'],
			]]></add>
        </operation>	

    </file>
	
	<file name="catalog/controller/product/manufacturer.php">
        <operation error="skip">
            <search position="after"><![CDATA[
			$this->data['text_limit'] = $this->language->get('text_limit');
			]]></search>
            <add><![CDATA[
			$this->data['button_zakaz'] = $this->language->get('button_zakaz');
			]]></add>
        </operation>
        <operation error="skip">
            <search position="after"><![CDATA[
					'product_id'  => $result['product_id'],
			]]></search>
            <add><![CDATA[
					'quantity'	  => $result['quantity'],
			]]></add>
        </operation>	
    </file>
	
    <file name="catalog/controller/product/search.php">
        <operation error="skip">
            <search position="after"><![CDATA[
			$this->data['text_limit'] = $this->language->get('text_limit');
			]]></search>
            <add><![CDATA[
			$this->data['button_zakaz'] = $this->language->get('button_zakaz');
			]]></add>
        </operation>
        <operation error="skip">
            <search position="after"><![CDATA[
					'product_id'  => $result['product_id'],
			]]></search>
            <add><![CDATA[
					'quantity'	  => $result['quantity'],
			]]></add>
        </operation>	
    </file>
    <file name="catalog/controller/product/compare.php">
        <operation error="skip">
            <search position="after"><![CDATA[
			$this->data['text_empty'] = $this->language->get('text_empty');
			]]></search>
            <add><![CDATA[
			$this->data['button_zakaz'] = $this->language->get('button_zakaz');
			]]></add>
        </operation>
        <operation error="skip">
            <search position="after"><![CDATA[
					'product_id'   => $product_info['product_id'],
			]]></search>
            <add><![CDATA[
					'quantity'   => $product_info['quantity'],
			]]></add>
        </operation>	
    </file>	
	<file name="catalog/controller/product/product.php">
        <operation error="skip">
            <search position="replace"><![CDATA[
			$this->data['button_cart'] = $this->language->get('button_cart');
			]]></search>
            <add><![CDATA[
			if($product_info['quantity'] <= 0){
				$this->data['button_cart'] = $this->language->get('button_zakaz');
			}else{
				$this->data['button_cart'] = $this->language->get('button_cart');
			}
			]]></add>
        </operation>
    </file>

    <file name="catalog/view/theme/default/template/module/latest.tpl">
        <operation error="skip">
            <search position="replace"><![CDATA[
			<div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
			]]></search>
            <add><![CDATA[
		<?php if ($product['quantity'] <= 0) { ?> 
			<div class="cart"><input type="button" value="<?php echo $button_zakaz; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
			<?php } else { ?>
			<div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
		<?php } ?>
			]]></add>
        </operation>
    </file>	
	
    <file name="catalog/view/theme/default/template/product/category.tpl">
        <operation error="skip">
            <search position="replace"><![CDATA[
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			]]></search>
            <add><![CDATA[
		<?php if ($product['quantity'] <= 0) { ?> 
			<input type="button" value="<?php echo $button_zakaz; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			<?php } else { ?>
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
		<?php } ?>
			]]></add>
        </operation>
    </file>	

	<file name="catalog/view/theme/default/template/product/manufacturer_info.tpl">
        <operation error="skip">
            <search position="replace"><![CDATA[
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			]]></search>
            <add><![CDATA[
		<?php if ($product['quantity'] <= 0) { ?> 
			<input type="button" value="<?php echo $button_zakaz; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			<?php } else { ?>
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
		<?php } ?>
			]]></add>
        </operation>
    </file>	

	    <file name="catalog/view/theme/default/template/product/search.tpl">
        <operation error="skip">
            <search position="replace"><![CDATA[
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			]]></search>
            <add><![CDATA[
		<?php if ($product['quantity'] <= 0) { ?> 
			<input type="button" value="<?php echo $button_zakaz; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			<?php } else { ?>
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
		<?php } ?>
			]]></add>
        </operation>
    </file>	

	<file name="catalog/view/theme/default/template/product/compare.tpl">
        <operation error="skip">
            <search position="replace"><![CDATA[
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			]]></search>
            <add><![CDATA[
		<?php if ($product['quantity'] <= 0) { ?> 
			<input type="button" value="<?php echo $button_zakaz; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			<?php } else { ?>
			<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
		<?php } ?>
			]]></add>
        </operation>
    </file>	

	<file name="catalog/language/russian/russian.php">
        <operation error="skip">
            <search position="after"><![CDATA[
			$_['button_cart']    	    = 'Купить';
			]]></search>
            <add><![CDATA[
			$_['button_zakaz']    	    = 'Предзаказ';
			]]></add>
        </operation>
    </file>
</modification>

Работает в таком виде на ocStore версия 1.5.5.1.2

Змінено користувачем afwollis
[spoiler] ? не, не слышал
Надіслати
Поділитися на інших сайтах


Потому что catalog/view/theme/default/template/module/filterpro_products.tpl не отредактировали

 

Если его включить в список файлов в которых происходит замена, по условию $product['stock_qty'] <= 0 то все кнопки заменяются на предзаказ, вне зависимости от статуса остатка товара, дальше не колупал, пока отложил.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.