@boul

Как прописать условие для opencart?

Всем привет и с праздниками!
Знатоки, подскажите, как прописать в JS такое условие:
Если цена указана, то выводится:
1) Цена
2) кнопка "в корзину"
3) кнопка "заказать звонок"
Если цена не указана, то выводится только кнопка "Заказать звонок"
Вот код, с кнопкой "Заказать звонок"
$(function() {

	// Купить в один клик
	$('.product-layout > .product-thumb').each(function (e) {

		e +=1;

		var img_url = $(this).find('.img-responsive').attr('src'),
				item_name = $(this).find('h4 a').text(),
				item_price = $(this).find('.price').html(),
				admin = $('#callback [name=admin_email]').val();

		$(this).after('\
		<div id="pp-item-' + e + '" class="product-popup">\
			<h2>Заказать звонок</h2>\
			<div class="pp-img-wrap"><img src="' + img_url + '" alt="my_site"></div>\
			<div class="pp-content">\
				<h3>' + item_name + '</h3>\
				<p>' + item_price + '</p>\
				<form class="ajax-form">\
					<input type="hidden" name="project_name" value="Narniya">\
	        <input type="hidden" name="admin_email" value="' + admin + '">\
	        <input type="hidden" name="form_subject" value="Заявка с сайта My_site">\
	        <input type="hidden" name="Продукт" value="' + item_name + '">\
	        <input class="form-control" type="text" name="Телефон" placeholder="Введите ваш телефон..." required>\
	         <button class="btn btn-primary">Заказать</button>\
				</form>\
				<div class="success">Спасибо за заявку!</div>\
			</div>\
		</div>');

		$(this).find('.button-group').append('<a class="button toclick" href="#pp-item-' + e + '">Заказать звонок</a>');
		$(this).parent().attr({
			'class' : 'product-layout col-lg-4 col-md-3 col-sm-6 col-xs-12'
			
			
		});

	});

	$('.product-thumb h4').css('height', '').equalHeights();

	$('.toclick, .callback').magnificPopup({
		mainClass: 'mfp-zoom-in',
		removalDelay: 400
	});

	//E-mail Ajax Send
	$(".ajax-form").submit(function() {
		var th = $(this);
		$.ajax({
			type: "POST",
			url: "catalog/view/theme/gwng/mail.php",
			data: th.serialize()
		}).done(function() {
			var pp_suc = th.closest('.product-popup').find('.success');
			pp_suc.fadeIn();
			setTimeout(function() {
				th.trigger("reset");
				pp_suc.fadeOut();
				$.magnificPopup.close();
			}, 4000);
		});
		return false;
	});

});

в идеале, хотелось бы доработать сей код.
Подскажите, как это можно доделать.
Спасибо.
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
IceRD
@IceRD
JS вообще не нужен.
Сделайте это правильно, на уровне шаблона.
при отображении товара проверяете {% if price %} и отображаете информацию или только кнопку заказать звонок.
На кнопку заказать звонок вешаете ваше событие.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы