OlgaLisa

Помогите со скриптом, есть ошибка

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

OlgaLisa    0

Скрипт в файле Категорий под вывод последних новинок, выдает ошибку в журнале в сроке 99 

PHP Notice:  Undefined variable: jcats in /var/www/u0072430/data/www/kult.su/catalog/view/theme/oxy/template/module/category.tpl on line 99

 
register_globals = Off;

 

Как правильно прописать? 

<script>
			$(document).ready(function(){

				var click_ids = ['<?=$jcats?>'];
				jQuery.each(click_ids, function() {
			      $('#cat-' + this).css('font-weight','bold');
			      $('#cat-' + this).click();

					var link = $('#cat-' + this);
					var closest_ul = link.closest("ul");
					var closest_plus = link.find(".cat-plus");
					var closest_minus = link.find(".cat-minus");
					var parallel_active_links = closest_ul.find(".active")
					var closest_li = link.closest("li");
					var link_status = closest_li.hasClass("active");
					var count = 0;
					$("#accordian .cat-minus").hide();
					$("#accordian .cat-plus").show();

					closest_ul.find("ul").slideUp(function(){
						if(++count == closest_ul.find("ul").length)
							parallel_active_links.removeClass("active");
					});

					if(!link_status)
					{
						closest_li.children("ul").slideDown();
						closest_li.addClass("active");
						closest_plus.toggle();
						closest_minus.toggle();
					}
			     });

				$("#accordian a").click(function(){
					var link = $(this);
					var closest_ul = link.closest("ul");
					var closest_plus = link.find(".cat-plus");
					var closest_minus = link.find(".cat-minus");
					var parallel_active_links = closest_ul.find(".active")
					var closest_li = link.closest("li");
					var link_status = closest_li.hasClass("active");
					var count = 0;
					$("#accordian .cat-minus").hide();
					$("#accordian .cat-plus").show();
//					if (closest_plus.is(':visible')) closest_plus.hide();
//					if (closest_minus.is(':hidden')) closest_minus.show();
//					closest_plus.toggle();
//					closest_minus.toggle();

					closest_ul.find("ul").slideUp(function(){
						if(++count == closest_ul.find("ul").length)
							parallel_active_links.removeClass("active");
					});

					if(!link_status)
					{
						closest_li.children("ul").slideDown();
						closest_li.addClass("active");
						closest_plus.toggle();
						closest_minus.toggle();
					}

					if ($(this).hasClass('clickable')) { }
					else return false;
				})
			})
		</script>

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


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

А контроллер передает значение переменной?

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


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

Как я понимаю за это отвечает эта часть кода
 

protected function getChild($child, $args = array()) {
		$action = new Action($child, $args);
	
		if (file_exists($action->getFile())) {
			require_once($action->getFile());

			$class = $action->getClass();

			$controller = new $class($this->registry);

			$controller->{$action->getMethod()}($action->getArgs());
			
			return $controller->output;
		} else {
			trigger_error('Error: Could not load controller ' . $child . '!');
			exit();					
		}		
	}

Весь код контроллера
 

<?php
abstract class Controller {
	protected $registry;	
	protected $id;
	protected $layout;
	protected $template;
	protected $children = array();
	protected $data = array();
	protected $output;
	
	public function __construct($registry) {
		$this->registry = $registry;
	}
	
	public function __get($key) {
		return $this->registry->get($key);
	}
	
	public function __set($key, $value) {
		$this->registry->set($key, $value);
	}
			
	protected function forward($route, $args = array()) {
		return new Action($route, $args);
	}

	protected function redirect($url, $status = 302) {
		header('Status: ' . $status);
		header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $url));
		exit();				
	}
	
	protected function getChild($child, $args = array()) {
		$action = new Action($child, $args);
	
		if (file_exists($action->getFile())) {
			require_once($action->getFile());

			$class = $action->getClass();

			$controller = new $class($this->registry);

			$controller->{$action->getMethod()}($action->getArgs());
			
			return $controller->output;
		} else {
			trigger_error('Error: Could not load controller ' . $child . '!');
			exit();					
		}		
	}
	
	protected function render() {
		foreach ($this->children as $child) {
			$this->data[basename($child)] = $this->getChild($child);
		}
		
		if (file_exists(DIR_TEMPLATE . $this->template)) {
			extract($this->data);
			
      		ob_start();
      
	  		require(DIR_TEMPLATE . $this->template);
      
	  		$this->output = ob_get_contents();

      		ob_end_clean();
      		
			return $this->output;
    	} else {
			trigger_error('Error: Could not load template ' . DIR_TEMPLATE . $this->template . '!');
			exit();				
    	}
	}
}
?>

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


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

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

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

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

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

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

Войти

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

Войти


  • Похожий контент

    • От lambda371
      Доброго времени суток господа! При попытке добавить новую позицию на страницу категорий, сверху выдает ошибку: 
      Notice: Undefined index: position in /system/storage/modification/catalog/controller/module/html.php on line 8
      В чем может быть проблема?
      Мучаюсь уже два дня.
      позицию создавал по инструкции т.к кодом не владею
      Подскажите в чем ошибка 
      Как я создавал позицию:
      1) Создал файл catalog/controller/common/content_newpos.php с текстовым содержимым
      2) Создал файл catalog/view/theme/default/template/common/content_newpos.tpl с содержимым:
      3) В файл catalog/controller/product/category.php добавил строку:
      4) На страницу категорий вывел позицию путем добавления в файл catalog/view/theme/default/template/product/category.tpl кода:
      5) В админку вывел новую позицию (думаю тут у меня проблем нет)
    • От iDiy

      599.00 руб
      Скачать/Купить дополнение


      Расширенный модуль меню (custom menu)
      Расширенный модуль меню (custom menu)
      Надежный и функциональный модуль витрины категорий, горизонтального и вертикального меню, позволяет создавать меню из произвольных элементов (custom ссылок) и/или использовать категории, товары, бренды и статьи из существующего каталога магазина.
       
      Особенности:
      неограниченный уровень вложенности; выборочные элементы меню (категории, производители, статьи, товары); произвольные ссылки с собственными параметрами (группы, классы, иконки...); горизонтальное адаптивное меню (Amazon стиль); вертикального меню в трех стилях: "Accordion", меню "Flyout" и меню "Drill Down"; многоуровневая витрина с эффектом "Accordion"; отображение меню для конкретной категории/производителя/товара; экспорт/импорт настроек модуля и структуры элементов меню; функция скрытия пустых(без товара) категорий и производителей; количество товаров категории и производителя без потери производительности; поддержка мульти-магазинов и групп пользователей; подключение и использование произвольных стилей и скриптов; всего 1 запрос к БД для всех категорий + товаров + производителей + статьи; всего 1 запрос к БД при подсчете количества товаров категории/производителя; модуль не заменяет системных файлов и не использует кеш; простая установка в меню дополнений...  
      Совместимость: OpenCart, ocStore, ocShop и другие сборки версий 2.1.x - 3.х
      Системные требования: PHP 5.6 - 7.0, Ioncube Loader 6+
       
      Демонстрация работы модуля на примере:
      Витрины категорий, Категории, Товара, Бренда
      Админ демо (логин/пароль: demo/demo)
       
      Добавил iDiy Добавлено 29.06.2017 Категория Модули Системные требования PHP 5.6 - 7.0, Ioncube Loader 6+ Сайт разработчика Старая цена Метод активации По запросу на почту Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
    • От iDiy
      Расширенный модуль меню (custom menu)
      Надежный и функциональный модуль витрины категорий, горизонтального и вертикального меню, позволяет создавать меню из произвольных элементов (custom ссылок) и/или использовать категории, товары, бренды и статьи из существующего каталога магазина.
       
      Особенности:
      неограниченный уровень вложенности; выборочные элементы меню (категории, производители, статьи, товары); произвольные ссылки с собственными параметрами (группы, классы, иконки...); горизонтальное адаптивное меню (Amazon стиль); вертикального меню в трех стилях: "Accordion", меню "Flyout" и меню "Drill Down"; многоуровневая витрина с эффектом "Accordion"; отображение меню для конкретной категории/производителя/товара; экспорт/импорт настроек модуля и структуры элементов меню; функция скрытия пустых(без товара) категорий и производителей; количество товаров категории и производителя без потери производительности; поддержка мульти-магазинов и групп пользователей; подключение и использование произвольных стилей и скриптов; всего 1 запрос к БД для всех категорий + товаров + производителей + статьи; всего 1 запрос к БД при подсчете количества товаров категории/производителя; модуль не заменяет системных файлов и не использует кеш; простая установка в меню дополнений...  
      Совместимость: OpenCart, ocStore, ocShop и другие сборки версий 2.1.x - 3.х
      Системные требования: PHP 5.6 - 7.0, Ioncube Loader 6+
       
      Демонстрация работы модуля на примере:
      Витрины категорий, Категории, Товара, Бренда
      Админ демо (логин/пароль: demo/demo)
       
    • От DimasLab
      Здравствуйе, где настраивается блок главого меню. Все облазил, не найду как там менять список категории, как добавить новые..

    • От blastbeat
      Добрый день.
      После того, как перетащили сайт с тестового домена и подключили к сайту SSL сертификат обнаружили, что часть изображений в подкатегориях перестала корректно выгружаться на сайт.

      Все изображения загружены в папке site.tld/image/... как и подобает инструкции из обоих сonfig.php:  define('DIR_IMAGE', '/var/www/www-root/data/www/site.tld/image/'); В основных категориях сайта всё корректно работает, картинки подгружаются кодом оттуда.

      Но на страницах подкатегорий сайта вида site.tld/category/subcategory или site.tld/category/subcategory/sub-subcategory отваливаются вообще все картинки на этой странице (не только товаров)



      Может кто сталкивался? Знает где и как лечить?

      Есть предположение, что это из за того, что в адресах картинок не стоит слэш перед папкой image:


      Но с таким же кодом в основных категориях выгрузка изображений происходит корректно...

      opencart Version 2.2.0.0 (rs.1)
  • Последние посетители   0 пользователей онлайн

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