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

Помогите с php - условие "если"


Recommended Posts

Доброго времени.

Необходимо реализовать в карточке товара вывод ссылки на тех документацию pdf

..../template/product/product.tpl добавил вывод ссылки 

<?php if (!$product['upc'] > 0) { ?> -(вот тут возникла проблема)
                        <a href="pdf/<?php echo $model; ?>.pdf" target="_blank"><img src="image/catalog/pdf.png" title="Техническая спецификация <?php echo $model; ?> pdf"                              alt="Техническая спецификация <?php echo $model; ?> pdf"/>
                        <a href="pdf/<?php echo $model; ?>.pdf" target="_blank" class="red-link">Техническая спецификация <?php echo $model; ?> PDF</a>

<?php } ?>

 

 

т.к. не во всех товарах есть pdf документ, хочу добавить условие >> если "upc >0", тогда выводим ссылку.

 

Вот только как правильно прописать в product.php

..../catalog/controller/product/product.php - что надо добавить ????

 

 

Заранее благодарен.

 

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


<?php if ($product['upc']  { ?> 
// если upc не пустая строка то здесь выведется код иначе нет

<?php } ?>

 

в контроллер достаточно добавить $data['upc'] = $product_info['upc'];

Змінено користувачем stickpro
Надіслати
Поділитися на інших сайтах

34 минуты назад, stickpro сказал:

<?php if ($product['upc']  { ?> 
// если upc не пустая строка то здесь выведется код иначе нет

<?php } ?>

 

в контроллер достаточно добавить $data['upc'] = $product_info['upc'];

Спасибо. Вы забыли закрыть скобку ")" - <?php if ($product['upc']) { ?>

Попробовал - выдает ошибку -  template/product/product.tpl on line 767

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


1 минуту назад, EYE сказал:

Позвольте узнать, http://prntscr.com/nqb5eu

1. Знак "!" убран.

2.  Указал

<?php if ($product['upc'])  { ?> 
// здесь выведется код 

<?php } ?>

в контроллер добавил $data['upc'] = $product_info['upc'];

3. В товаре в котором указано upc = 1 - ошибка template/product/product.tpl on line 767 и условие не выполняется 

4. В товаре с пустым значением upc - ошибка template/product/product.tpl on line 767 и условие не выполняется

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


1 минуту назад, kiggo сказал:

1. Знак "!" убран.

2.  Указал

<?php if ($product['upc'])  { ?> 
// здесь выведется код 

<?php } ?>

в контроллер добавил $data['upc'] = $product_info['upc'];

3. В товаре в котором указано upc = 1 - ошибка template/product/product.tpl on line 767 и условие не выполняется 

4. В товаре с пустым значением upc - ошибка template/product/product.tpl on line 767 и условие не выполняется

 

Я задал лишь вопрос почему присутствовал вопросительный знак и не более.

Чтобы разобраться с ошибкой, нам нужно видеть строку 767, логично? Зачем дублировать это? Вы с первой строки не сразу понимаете?

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


18 минут назад, EYE сказал:

 

Я задал лишь вопрос почему присутствовал вопросительный знак и не более.

Чтобы разобраться с ошибкой, нам нужно видеть строку 767, логично? Зачем дублировать это? Вы с первой строки не сразу понимаете?

Сорри.

с 8 часов утра голову от компа не отрывал. Может немного не понял Вас

ругается на кусок:

<div>
	<?php if ($product['upc']) { ?>
	<a href="pdf/<?php echo $model; ?>.pdf" target="_blank"><img style="width: 40px;" src="image/catalog/pdf.png" 
       title="Техническая спецификация <?php echo $model; ?> pdf" alt="Техническая спецификация <?php echo $model; ?> pdf"/>
	<a href="pdf/<?php echo $model; ?>.pdf" target="_blank" class="red-link">Техническая спецификация <?php echo $model; ?> PDF</a>
	<?php } ?>
</div>
          </div>
				</div>
				<?php if ($tags) { ?>
				<p style="margin-bottom: 20px;" class="red-links"><?php echo $text_tags; ?>
					<?php for ($i = 0; $i < count($tags); $i++) { ?>
					<?php if ($i < (count($tags) - 1)) { ?>
					<a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>,
					<?php } else { ?>
					<a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>
					<?php } ?>
					<?php } ?>
				</p>
				<?php } ?>
    </div>
		<div class="col-sm-12">
			<?php echo $content_bottom; ?>
		</div>
	</div>
	<?php echo $column_right; ?>
</div>

<script type="text/javascript">
$(window).load(function () {
	if (window.location.hash == '#review') {
		$('a[href=\'#tab-review\']').trigger('click');
		$('html, body').animate({ scrollTop: $('a[href=\'#tab-review\']').offset().top - 5}, 250);
	}   - - - - - - - - строка 767 !!!!!!!!
});

 

Змінено користувачем kiggo
Надіслати
Поділитися на інших сайтах


40 минут назад, kiggo сказал:

3. В товаре в котором указано upc = 1 - ошибка template/product/product.tpl on line 767 и условие не выполняется 

4. В товаре с пустым значением upc - ошибка template/product/product.tpl on line 767 и условие не выполняется

Приведите полный текст ошибки.

Может проблема банально в том, что в контроллере не назначена данная переменная.

 

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

Только что, mpn2005 сказал:

И не надо писать, что содержимое $tags может изменится.

Т.к. нет смыла итерировать по уже устаревшей мнформации и выходить за пределы массива.

=))))

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


Только что, mpn2005 сказал:

Вот тут подробнее и аргументирванно.

Дам намёк, когда мы определяем переменную, мы говорим о том, что этот участок кода пишется в память, понимаем?  А что творится с тем, что определяется каждую итерацию?

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


18 минут назад, EYE сказал:

Какая строка 767?

<script type="text/javascript">
$(window).load(function () {
	if (window.location.hash == '#review') {
		$('a[href=\'#tab-review\']').trigger('click');
		$('html, body').animate({ scrollTop: $('a[href=\'#tab-review\']').offset().top - 5}, 250);
	}   - - - - - - - - строка 767 !
});
Надіслати
Поділитися на інших сайтах


3 минуты назад, EYE сказал:

Дам намёк, когда мы определяем переменную, мы говорим о том, что этот участок кода пишется в память, понимаем?  А что творится с тем, что определяется каждую итерацию?

Вы архитектор языка php на уровне бинарного кода?

Вы так представляете себе что при каждой итерации будет пересчёт количества элементов?

Нет. Сранение в двух случаях идёт с одной перменной. 

Только если массив изменится, то перепишется перменная сравнения.

Сделайте синтетический тест и проверьте.

Уделите больше внимания тестам на php7.

 

Если бы языки высоког уровня выполняли всё по напсанному, весь код еле бы шевелился.

Есть свёртки операций и оптимизация.

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

Только что, mpn2005 сказал:

Вы архитектор языка php на уровне бинарного кода?

Вы так представляете себе что при каждой итерации будет пересч1т количества элементов?

Нет. Сранение в двух случаях идёт с одной перменной. 

Только если массив изменится, то перепишется перменная сравнения.

Сделайте синтетический тест и проверьте.

Уделите больше внимания тестам на php7.

 

Если бы языки высоког уровня выполняли всё по напсанному, весь код еле бы шевелился.

Есть свёртки операций и оптимизация.

 

Вы в своём тексте ошиблись и не указали на реальную.

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


2 минуты назад, kiggo сказал:

<script type="text/javascript">
$(window).load(function () {
	if (window.location.hash == '#review') {
		$('a[href=\'#tab-review\']').trigger('click');
		$('html, body').animate({ scrollTop: $('a[href=\'#tab-review\']').offset().top - 5}, 250);
	}   - - - - - - - - строка 767 !
});

Скиньте в личку доступы. И сссылку на карточку товара.

Помогу разобраться.

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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