Jump to content
Sign in to follow this  
Tania999

Пытаюсь создать отдельную схему для некоторых категорий

Recommended Posts

Добрый день!

Хочу для одной из категорий сделать другой шаблон (categorymeb), чем для остальных(category), и для этого создала отдельную схему.

 

1. Скопировала контроллер категории в ту же, переименовала его, внутри переименовала класс, пути к модели и пути к tpl

2. Скопировала tpl категории, внесла в него тестовое изменение, переименовала

3. Скопировала модель категории, переименовала

4. Добавила схему с путём product/categorymeb

 

Контроллер подключается нормально - это я вижу по тому, что можно на этот шаблон активировать модули и они выведутся, а вот tpl используется почему-то стандартный, product/category , а не product/categorymeb. Видимо, в контроллере нужно где-то еще поменять что-то, но я не разбираюсь в php, помогите, пожалуйста, что не так?

 

В приложении контроллер, вьюха и модель (на серваке лежат в тех же папках, что стандартные файлы категории)

Вьюху переименовала в пхп, т.к. tpl не загружается

 

 

 

 

 

categorymebКОНТРОЛЛЕР.php

categorymebВЬЮ.php

categorymebМОДЕЛЬ.php

Share this post


Link to post
Share on other sites

а в настройках категории на вкладке Дизайн выбрали схему свою?

Share this post


Link to post
Share on other sites

Лень стало проверять код, просто закинул ваши файлы к себе на тестовый сайт - всё у вас верно и работает. http://1.live-drive.ru/index.php?route=product/categorymeb&path=25

 

Только вот не проще было сделать такой костыль:

if ($category_id == 'айди_нужной_категории' ) {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb.tpl';
} else {
$this->template = 'default/template/product/categorymeb.tpl';
}
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} else {
$this->template = 'default/template/product/category.tpl';
}
}
Edited by serega-lomik

Share this post


Link to post
Share on other sites

 

Лень стало проверять код, просто закинул ваши файлы к себе на тестовый сайт - всё у вас верно и работает. http://1.live-drive.ru/index.php?route=product/categorymeb&path=25

 

Только вот не проще было сделать такой костыль:

if ($category_id == 'айди_нужной_категории' ) {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb.tpl';
} else {
$this->template = 'default/template/product/categorymeb.tpl';
}
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} else {
$this->template = 'default/template/product/category.tpl';
}
}

 

 

 

Такая же проблема, сделал всё так же как и Tania999, но свой шаблон не загружается. Почему может такое быть?

Какие изменения вносил:

1) создал в "controller/product" файл model (по аналогии с category) и изменил следующие строчки:

class ControllerProductCategory extends Controller {  
	public function index() { 
		$this->language->load('product/category');
		
		$this->load->model('catalog/category');
		
		$this->load->model('catalog/product');
		
		$this->load->model('tool/image'); 

на:

class ControllerProductModel extends Controller {  
	public function index() { 
		$this->language->load('product/category');
		
		$this->load->model('catalog/model');
		
		$this->load->model('catalog/product');
		
		$this->load->model('tool/image'); 

и:

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

на:

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

2) создал в "model/catalog" файл model (по аналогии с category) и изменил следующие строчки:

class ModelCatalogCategory extends Model {

на:

class ModelCatalogModel extends Model {

3) создал шаблон model.tpl (по аналогии с category).

4) Создал схему "модель" где указал путь "product/model".

5) выбрал у категории схему "модель".

 

Модули подключаются к этой схеме (они собственно подключались изначально после того как создал схему), но вот шаблон почему то ни как не хочет! Что я делаю не так?

Ваш костыль тоже не плох (но удалось прописать только 1 категори, а несколько не получается, пробовал через запятую указывать), но хотелось бы что бы был выбор через админку, а не править каждый раз файл.

 

Возможно можно сделать вывод нужного шаблона категории для определённой вложенности, то есть имются категории такого вида: Легковые шины - производитель - модель, вот для модель требуется свой шаблон.

Share this post


Link to post
Share on other sites

Добрый день!

Хочу для одной из категорий сделать другой шаблон (categorymeb), чем для остальных(category), и для этого создала отдельную схему.

 

1. Скопировала контроллер категории в ту же, переименовала его, внутри переименовала класс, пути к модели и пути к tpl

2. Скопировала tpl категории, внесла в него тестовое изменение, переименовала

3. Скопировала модель категории, переименовала

4. Добавила схему с путём product/categorymeb

 

Контроллер подключается нормально - это я вижу по тому, что можно на этот шаблон активировать модули и они выведутся, а вот tpl используется почему-то стандартный, product/category , а не product/categorymeb. Видимо, в контроллере нужно где-то еще поменять что-то, но я не разбираюсь в php, помогите, пожалуйста, что не так?

 

В приложении контроллер, вьюха и модель (на серваке лежат в тех же папках, что стандартные файлы категории)

Вьюху переименовала в пхп, т.к. tpl не загружается

 

Вы решили как нибудь данную проблему?

Share this post


Link to post
Share on other sites

Ваш костыль тоже не плох (но удалось прописать только 1 категори, а несколько не получается, пробовал через запятую указывать)

if ($category_id == 'айди_нужной_категории' ) {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb.tpl';
} else {
$this->template = 'default/template/product/categorymeb.tpl';
}
} elseif ($category_id == 'айди2_нужной_категории' ){
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb2.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb2.tpl';
} else {
$this->template = 'default/template/product/categorymeb2.tpl';
}
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} else {
$this->template = 'default/template/product/category.tpl';
}
}

Share this post


Link to post
Share on other sites

 

if ($category_id == 'айди_нужной_категории' ) {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb.tpl';
} else {
$this->template = 'default/template/product/categorymeb.tpl';
}
} elseif ($category_id == 'айди2_нужной_категории' ){
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb2.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb2.tpl';
} else {
$this->template = 'default/template/product/categorymeb2.tpl';
}
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} else {
$this->template = 'default/template/product/category.tpl';
}
}

 

 

хм добавить 1000 строк кода что бы прописать 50 категорий, неужели нет более простого способа?

Share this post


Link to post
Share on other sites

Смотрел уже, конечно вопрос решает, но огорчает то что надо опять же создавать кучу лишних шаблонов... думал что можно как то по другому вопрос решить, но видимо нет, жаль. Спасибо за помощь.

Share this post


Link to post
Share on other sites

 

if ($category_id == 'айди_нужной_категории' ) {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb.tpl';
} else {
$this->template = 'default/template/product/categorymeb.tpl';
}
} elseif ($category_id == 'айди2_нужной_категории' ){
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categorymeb2.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categorymeb2.tpl';
} else {
$this->template = 'default/template/product/categorymeb2.tpl';
}
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} else {
$this->template = 'default/template/product/category.tpl';
}
}

 

 

А подскажите ещё такой момент, если я этим способом буду прописывать категории, не повлияет ли это на нагрузку в целом?

Share this post


Link to post
Share on other sites

 

А вот это похоже то что нужно, с этим модулем ещё не сталкивался, большое спасибо!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By AWARO
      Лендинг дизайн, оформление.. 70 модульных позиций в 24х блоках - oc-3x
       
      для opencart 2.3х - тут
      для opencart 2.0 - 2.1 - 2.2  - тут
      В модуле никогда не было стучалок и прочей лапши - всем, кто скачал где то - где модуль неофициально представлен - мои поздравления с вирусами и свободным доступом к вашей базе данных 
       
      Забудьте об однообразном расположении позиций вывода модулей как инкубационные яйца))
      Позаботьтесь о презентабельной подаче вашего сайта - это не только лицо вашей компании но и ваше лицо!
      Модуль HYPER Positions позволяет увеличить количество позиции и вывести любой модульный контент как пожелает ваша фантазия, позволяя более презентабельно и эффективно оформить любую страницу вашего сайта!

      Модуль добавляет к уже имеющимся блокам ещё 24 блочных позиций и 70 колонок вывода модулей в 5 секциях!
      Внедрены четыре вида блоков обшее количество которых 24 штуки каждый из которых так же можно растянуть на всю ширину экрана
      Восемь блоков четырех колоночных позиций = 32 модульных позиций Шесть блоков трех колоночных позиций = 18 модульных позиций Пять блоков трех колоночных позиций по типу стандарта = 15 модульных позиций Пять блоков с одно модульной позицией = 5 модульных позиций Возможность перетаскивать модули по сортировке ДЕМО  с оформлением
      ДЕМО   без оформления
      АДМИНКА  demo\demo
           все модульные позиции              один из вариантов             чем ни лендинг?))

             

      Схемы настройки блоков
      кликните по картинке и откройте в полном размере
               
       
      Вывести можно хоть все позиции но лучше то что нужно!
       
      Установка:
      В административной части во вкладке *Установка дополнений* загрузить архив. В административной части во вкладке *Менеджер дополнений* нажать кнопку обновления. Дать права на редактирование модуля Включить модуль в модулях В схемах выставить модули по вашему усмотрени. Ни какие файлы не затираются
      --------------
      Возможно будет нужна адаптация под ваш шаблон  нужно смотреть походу..
      в любом случае если, что то не так пишите в тему поддержки - попробуем сделать
      ВНИМАНИЕ!
      Не подходит для использования под дебильные шаблоны по типу Jornal, Fastor и им подобных!
      Поддержка и адаптация под прочие шаблоны возможна только на ветке 3x!
      Прежде чем приобрести модуль уточняйте все моменты в теме поддержки!
       
      Если вы купили модуль и он у вас не корректно установился, не заработал и т.д. и вы мне отказываете в доступах для поддержки - значит поддержка вам ненужна
       
       
      Благодарность ваша это оставить отзыв к файлу. Это мотивирует нас на развитие модуля.
      Спасибо вам за спасибо!)
      Пользуйтесь на здоровье)
      Прежде чем купить читайте описание!
      Если не смотря на это вы всё же приобрели то знайте Модуль возврату или обмену не подлежит! Учтите этот момент!
       
      ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ!
       
    • By AWARO
      999.00 руб
      Скачать/Купить дополнение


      +70 позиций модулей \ HYPER Positions - oc3x
      Лендинг дизайн, оформление.. 70 модульных позиций в 24х блоках - oc-3x
       
      для opencart 2.3х - тут
      для opencart 2.0 - 2.1 - 2.2  - тут
      В модуле никогда не было стучалок и прочей лапши - всем, кто скачал где то - где модуль неофициально представлен - мои поздравления с вирусами и свободным доступом к вашей базе данных 
       
      Забудьте об однообразном расположении позиций вывода модулей как инкубационные яйца))
      Позаботьтесь о презентабельной подаче вашего сайта - это не только лицо вашей компании но и ваше лицо!
      Модуль HYPER Positions позволяет увеличить количество позиции и вывести любой модульный контент как пожелает ваша фантазия, позволяя более презентабельно и эффективно оформить любую страницу вашего сайта!

      Модуль добавляет к уже имеющимся блокам ещё 24 блочных позиций и 70 колонок вывода модулей в 5 секциях!
      Внедрены четыре вида блоков обшее количество которых 24 штуки каждый из которых так же можно растянуть на всю ширину экрана
      Восемь блоков четырех колоночных позиций = 32 модульных позиций Шесть блоков трех колоночных позиций = 18 модульных позиций Пять блоков трех колоночных позиций по типу стандарта = 15 модульных позиций Пять блоков с одно модульной позицией = 5 модульных позиций Возможность перетаскивать модули по сортировке ДЕМО  с оформлением
      ДЕМО   без оформления
      АДМИНКА  demo\demo
           все модульные позиции              один из вариантов             чем ни лендинг?))

             

      Схемы настройки блоков
      кликните по картинке и откройте в полном размере
               
       
      Вывести можно хоть все позиции но лучше то что нужно!
       
      Установка:
      В административной части во вкладке *Установка дополнений* загрузить архив. В административной части во вкладке *Менеджер дополнений* нажать кнопку обновления. Дать права на редактирование модуля Включить модуль в модулях В схемах выставить модули по вашему усмотрени. Ни какие файлы не затираются
      --------------
      Возможно будет нужна адаптация под ваш шаблон  нужно смотреть походу..
      в любом случае если, что то не так пишите в тему поддержки - попробуем сделать
      ВНИМАНИЕ!
      Не подходит для использования под дебильные шаблоны по типу Jornal, Fastor и им подобных!
      Поддержка и адаптация под прочие шаблоны возможна только на ветке 3x!
      Прежде чем приобрести модуль уточняйте все моменты в теме поддержки!
       
      Если вы купили модуль и он у вас не корректно установился, не заработал и т.д. и вы мне отказываете в доступах для поддержки - значит поддержка вам ненужна
       
       
      Благодарность ваша это оставить отзыв к файлу. Это мотивирует нас на развитие модуля.
      Спасибо вам за спасибо!)
      Пользуйтесь на здоровье)
      Прежде чем купить читайте описание!
      Если не смотря на это вы всё же приобрели то знайте Модуль возврату или обмену не подлежит! Учтите этот момент!
       
      ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ!
       
      Добавил AWARO Добавлено 27.02.2019 Категория Модули Системные требования прямые руки Сайт разработчика https://awaro.ru Старая цена 1199 Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
    • By Sha
      300.00 руб
      Скачать/Купить дополнение


      Менеджер модулей "Freyr 1" Визуальный редактор шаблонов.
      Вышла версия для OpenCart, ocStore 2.1.x.x
      Визуальный редактор схем и расположения модулей.
      Настройка модулей opencart, для admin панели.
      Позволяет легко настроить внешний вид Вашего интернет магазина. ~ по типу "конструктор сайта" Opencart.
      Добавлена новая функция позволяющая изменить заголовок модуля. например заменить "Рекомендуемые" на "Мы рекомендуем".
      (тестировался на ocStore 1.5.5.1.1, 1.5.5.1.2) файл ocStore-panel-1.8.1.zip
      (работает на ocStore 1.5.4... и чистом OpenCart - отдельный файл) freyr-(ocStore_1.5.4-and-empty_OpenCart).zip
      Установка
      Просто скопируйте содержимое папки [upload] в корень движка.
      Обновление
      Произведите установку новой версии поверх старой, заменяя файлы модуля.
      Важно
      Модуль не затирает, не заменяет ни каких файлов движка,
      тем не менее рекомендуем перед установкой делать бэкап файлов, а перед началом работы,
      настоятельно рекомендуем сделать бэкап базы данных!!!
      Дополнение предоставляется по принципу "Как есть", Разработчик не гарантирует отсутствия ошибок, которые могут нарушить работу компьютера и/или привести к потере данных. Также, если в код магазина было внесено много изменений, то работоспособность модуля может быть нарушена.Чем больше сторонних модулей, расширений, редакций - тем меньше "гарантий" нормальной работы.
      ДЕМО Panel Regularize "Freyr"
      нажать (сверху справа) кнопку "Быстро войти!"
      или имя пользователя: login пароль: login
      (демонстрационная ограниченная версия)
      ПОДРОБНЕЙ НА САЙТЕ
      Лицензия
      - скачать модуль можно только на форуме opencartforum.com
      - здесь представлено описание и обсуждение багов или доработок модуля (предлагайте)
      остальные способы распространения opencart "Freyr" левые и ни какого отношения к данному модулю не имеют)))
      - Шаблон реализуется по принципу "1 покупка – 1 доменное имя"
      - Запрещается передавать файлы модуля третьим лицам, как на платной, так и на безвозмездной основе.
      .
      Добавил Sha Добавлено 30.01.2014 Категория Редакторы Системные требования Сайт разработчика r.konotop.info Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • By zebratratata
      400.00 руб
      Скачать/Купить дополнение


      ZLayouts
      ZLaoyuts предназначен для создания своих схем для вывода модулей.
      Если Вам требуется вывести модуль на определенной странице, то этот модуль, то что Вы ищете.
      С его помощью вы сможете создать список страниц на которых надо показывать модули, или наоборот список страниц на которых не надо выводить модули.
      Возможности:
      - создание списка по категориям, товарам, производителям, статьям
      - создание списка по урлам, а также "route"
      Демка
      log/pass demo
      http://zebratratata.pp.ua
      zebratratata.pp.ua/admin/index.php?route=module/zlayouts
      Проверено на версиях OC 1.5.4.x - 1.5.6.x , ocstore 1.5.5.x
      Для работы нужен vqmod, если нету, есть инструкция в архиве по установке без него
      Если нужна помощь с установкой, или нашли баг, или есть что предложить по модулю пишите - zebratratata@gmail.com или skype dedhater
      Установка: просто скопируйте файлы из папки upload в корень сайта
      Добавил zebratratata Добавлено 31.03.2015 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.2
      1.5.6.1
      1.5.6 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • By ckopnio
      300.00 руб
      Скачать/Купить дополнение


      Модуль контактов с поддержкой карт
      Не стесняйтесь писать в личку перед покупкой моих модулей. Это может Вам сохранить деньги и нервы, а мне только нервы)))
      Модуль для вывода контактной информации.
      Поддерживает:
      Адрес магазина (если оставить пустым, использует настройки магазина)
      E-Mail (если оставить пустым, использует настройки магазина)
      Телефон (если оставить пустым, использует настройки магазина)
      Факс (если оставить пустым, использует настройки магазина)
      Карта (GoogleMaps или Яндекс.Карты)

      Протестировано на ocStore 1.5.3.1
      Добавил ckopnio Добавлено 12.11.2012 Категория Модули  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.