Перейти к содержанию
iga

[РЕШЕНО] Дополнительные картинки товара в модуле Рекомендуемые

Рекомендуемые сообщения

Никак не могу сообразить как вывести image-additional в кратком описании товара на главной странице(в модуле featured).

Перепробовал много вариантов, вылетают либо php ошибки, либо ссылка на несуществующее место. (в php не силён особо)

 

Эксперементирую с созданием одностраничной витрины, аля лэндинг http://simplybags.ru/

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

controller

				...
				if ($product_info['image']) {
				...
				$this->data['products'][] = array(
					'product_id' => $product_info['product_id'],
>>

			$add_images = array();
			$images_results = $this->model_catalog_product->getProductImages($product_info['product_id']);
			foreach ($images_results as $images_result) {
				$add_images[] = array(
					'popup' => $this->model_tool_image->resize($images_result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
					'thumb' => $this->model_tool_image->resize($images_result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'))
				);
			}
			
				if ($product_info['image']) {
				...
				$this->data['products'][] = array(
					'add_images'   	 => $add_images,
					'product_id' => $product_info['product_id'],
tpl

      <?php foreach ($products as $product) { ?>
      <div>
>>

      <?php foreach ($products as $product) { ?>
      <div>
      <?php if ($product['add_images']) { ?>
      <div class="image-additional">
        <?php foreach ($product['add_images'] as $add_image) { ?>
        <a href="<?php echo $add_image['popup']; ?>" title="<?php echo $product['name']; ?>" class="colorbox" rel="colorbox"><img src="<?php echo $add_image['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a>
        <?php } ?>
      </div>
      <?php } ?>
Изменено пользователем afwollis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вылетала и раньше ошибка про product_id 

Undefined index: product_id in ...featured.php on line 19

 
Сейчас, соответственно, она же. 
OcStore 1.5.5.1.2.
Или всёж упускаю я что...в виду не полной осведомлённости!?

<?php
class ControllerModuleFeatured extends Controller {
	protected function index($setting) {
		$this->language->load('module/featured'); 

      	$this->data['heading_title'] = $this->language->get('heading_title');
		
		$this->data['button_cart'] = $this->language->get('button_cart');
		
		$this->load->model('catalog/product'); 
		
		$this->load->model('tool/image');

		$this->data['products'] = array();

		$products = explode(',', $this->config->get('featured_product'));		

		if (empty($setting['limit'])) {
			$setting['limit'] = 5;
		}
		
		$products = array_slice($products, 0, (int)$setting['limit']);
		
		foreach ($products as $product_id) {
			$product_info = $this->model_catalog_product->getProduct($product_id);
			
			if ($product_info) {
				$add_images = array();
				$images_results = $this->model_catalog_product->getProductImages($this->request->get['product_id']);
				foreach ($images_results as $images_result) {
				$add_images[] = array(
					'popup' => $this->model_tool_image->resize($images_result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
					'thumb' => $this->model_tool_image->resize($images_result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'))
					);
				}
			
				if ($product_info['image']) {
					$image = $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);
				} else {
					$image = false;
				}

				if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
					$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
				} else {
					$price = false;
				}
						
				if ((float)$product_info['special']) {
					$special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
				} else {
					$special = false;
				}
				
				if ($this->config->get('config_review_status')) {
					$rating = $product_info['rating'];
				} else {
					$rating = false;
				}
					
				$this->data['products'][] = array(
					'add_images'   	 => $add_images,
					'product_id' => $product_info['product_id'],
					'shortdescription'  => mb_substr(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'), 0),
					'image'		 => $this->model_tool_image->resize($product_info['image'], 500, 500),
					'thumb'   	 => $image,
					'name'    	 => $product_info['name'],
					'price'   	 => $price,
					'special' 	 => $special,
					'rating'     => $rating,
					'reviews'    => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),
					'href'    	 => $this->url->link('product/product', 'product_id=' . $product_info['product_id']),
				);
			}
		}

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/featured.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/featured.tpl';
		} else {
			$this->template = 'default/template/module/featured.tpl';
		}

		$this->render();
	}
}
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

клепалось быстро.

$images_results = $this->model_catalog_product->getProductImages($this->request->get['product_id']);
>>

$images_results = $this->model_catalog_product->getProductImages($product_info['product_id']);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё получилось. Огромное спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.