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

Дополнительные изображения подкатегорий


nash

Recommended Posts

Добрый день! Нужно сделать дополнительные изображения у подкатегорий, как на "автору". Скрипт прикрутил все норм, но не могу вывести изображения.

В админке сделал добавление изображений. На витрине не получается вывести, ошибка (ссылается на массив: 

Цитата

Notice: Undefined variable: images in ... category.php ссылается на строку 'images' => $images,

 

category.php 

$data['categories'] = array();
			
			$results = $this->model_catalog_category->getCategories($category_id);

			foreach ($results as $result) {
				
				$data['images'] = array();
				$resultsImg = $this->model_catalog_category->getCategoryImages($category_id);
				
				foreach ($resultsImg as $result_img) {
					if ($result_img['image']) {
						$img = $this->model_tool_image->resize($result_img['image'], 300, 600);
					} else {
						$img = false;
					}
					$images[] = $img;
				}

				
				$filter_data = array(
					'filter_category_id'  => $result['category_id'],
					'filter_sub_category' => true
				);

				$data['categories'][] = array(
					'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
					'images' => $images,
					'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
				);
			}

 

category.tpl

          <?php foreach ($categories as $category) { ?>
            <div class="col-lg-3 col-md-3 col-sm-4 col-xs-12">
              <div class="product-thumb transition">
                <div class="image">
                  <a href="<?php echo $category['href']; ?>" class="mousehoverimage">
						<?php foreach ($category['images'] as $img) { ?>
							<img src="data:image/gif;base64,R0lGODlhBwAFAIAAAP///wAAACH5BAEAAAEALAAAAAAHAAUAAAIFjI+puwUAOw==" data-src="<?php echo $img; ?>" alt="" title="" class="lazy img-responsive">
						<?php } ?>
                    <div class="btn podrobno">Подробнее</div>
                  </a>
                </div>
                <a href="<?php echo $category['href']; ?>" class="name"><?php echo $category['name']; ?></a>
              </div>
            </div>
          <?php } ?>

 

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


Для чего у Вас:

$data['images'] = array();

если Вы туда ничего не вставляете? :)  Возможно Вы хотели обновлять массив с доп. картинками при каждом цикле:

 $images = array();

 

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

а к чему Вы объявляете эту переменную, как массив -

$data['images'] = array();

может надо вместо неё -

$images = array();

и дополнительную проверку в tpl-файле сделайте на вывод картинок - оберните foreach в if

if($category['images']) { 

 

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

спасибо, поправил! А вот почему у меня ничего не выводится - не пойму. Фото добавил, т.е. пустой массив

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


1 час назад, nash сказал:

спасибо, поправил! А вот почему у меня ничего не выводится - не пойму. Фото добавил, т.е. пустой массив

 

Что возвращает $resultsImg ?

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

6 минут назад, Leingard сказал:

 

Что возвращает $resultsImg ?

адреса картинок

 

	public function getCategoryImages($category_id) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_image WHERE category_id = '" . (int)$category_id . "' ORDER BY sort_order ASC");

		return $query->rows;
	}

 

image.thumb.png.5bfa9a1cb0c682843d286555a24290ba.png

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


1 час назад, nash сказал:

А вот почему у меня ничего не выводится - не пойму. Фото добавил, т.е. пустой массив

 

проверьте в самом контроллере category.php

что выводит

$images

после цикла -

 

var_dump($images);

$filter_data = array(
	...........

 

 

 

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

58 минут назад, vier сказал:

проверьте в самом контроллере category.php

что выводит


$images

после цикла -


var_dump($images);

$filter_data = array(
	...........

 

array(0) { } array(0) { }

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


1 час назад, nash сказал:

array(0) { } array(0) { }

 

Ну если у Вас приходят пустые массивы - это означает, что цикл ничего не записывает в переменную :) 

Убедитесь, что моделька изображений для resize подключена выше этой функции :) 

$this->load->model('tool/image');

Попробуйте без resize) Если Вы говорите, что возвращает адреса картинок то должно работать) Вы показали в phpmyadmin запрос, попробуйте его через  var_dump вывести) Да и сразу можно в $images заносить) Зачем вам тот посредник в виде $img :)  + вместо false лучше кавычки юзать :) 

if ($result_img['image']) {
	var_dump($this->model_tool_image->resize($result_img['image'], 300, 600));
	$images[] = $this->model_tool_image->resize($result_img['image'], 300, 600);
} else {
	$images[] = '';
}

 

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

1 час назад, Leingard сказал:

Если Вы говорите, что возвращает адреса картинок то должно работать)

я имел ввиду, что должен возвращать))

 

1 час назад, Leingard сказал:

Вы показали в phpmyadmin запрос, попробуйте его через  var_dump вывести) Да и сразу можно в $images заносить) Зачем вам тот посредник в виде $img :)  + вместо false лучше кавычки юзать :)

ничего не вывелось

category.php

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


4 часа назад, nash сказал:

я имел ввиду, что должен возвращать))

 

ничего не вывелось

category.php 18 \u043a\u0411 · 0 downloads

 

Значит getCategoryImages ничего не получает при запросе :) 

Если хотите, пришлите в ЛС доступ FTP + админку, помогу) 

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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