Структура OpenCart

 

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

 

Директория account

account.tpl страница личного кабинета покупателя
address_form.tpl страница редактирования адреса
address_list.tpl страница адресов
download.tpl страница файлов для скачивания
edit.tpl страница редактирования личной информации покупателя
forgotten.tpl страница восстановления забытого пароля покупателя
login.tpl страница входа / регистрации покупателя
newsletter.tpl страница E-Mail рассылки
order_info.tpl страница просмотра заказа
order_list.tpl страница истории заказов
password.tpl страница изменения пароля
register.tpl страница регистрации
return_form.tpl страница оформления возврата товара
return_info.tpl страница с информацией об определённом возврате
return_list.tpl страница с информацией о совершённых возвратах
reward.tpl страница бонусных баллов
transaction.tpl страница истории финансовых операций покупателя
voucher.tpl страница подарочных сертификатов
wishlist.tpl страница закладок

 

Директория affiliate

account.tpl страница личного кабинета партнёра
edit.tpl страница редактирования личной информации партнёра
forgotten.tpl страница восстановления забытого пароля партнёра
login.tpl страница входа / регистрации партнёра
password.tpl восстановление пароля партнёра
payment.tpl способы оплаты
register.tpl регистрация нового партнёра
tracking.tpl страница реферальных ссылок партнёра
transaction.tpl история выплат партнёра

 

Директория checkout

cart.tpl страница корзины
checkout.tpl оформление заказа
confirm.tpl подтверждение заказа
guest.tpl гостевое оформление заказа
guest_shipping.tpl
login.tpl выбор способа оформления заказа
payment_address.tpl
payment_method.tpl способоплаты
register.tpl страница регистрации через ссылку в корзине
shipping_address.tpl
shipping_method.tpl

 

Директория common

column_left.tpl левая колонка вашего шаблона
column_right.tpl правая колонка вашего шаблона
content_bottom.tpl низ средней колонки вашего шаблона
content_top.tpl верх средней колонки вашего шаблона
footer.tpl низ-подвал вашего шаблона
header.tpl верх- шапка вашего шаблона
home.tlp главная страница
maintenance.tpl шаблон выводится, когда магазин закрыт
success.tpl выводится после успешной регистрации в магазине и после успешного оформления заказа

 

Директория error

not_found запрашиваемая страница не найдена

 

Директория information

contact.tpl контакты — связаться с нами
information.tpl информационные страницы — статьи
sitemap.tpl карта сайта

 

Директория product

category.tpl вывод товарной группы
manufacturer.tpl вывод товаров по производителю
product.tpl вывод одного товара
review.tpl вывод отзыва о товаре в шаблоне product.tpl
search.tpl поиск и результаты поиска
special.tpl выбор специальных предложений (Special Offers)

 

Директория mail

order_confirm.tpl письмо о подтверждении

 

Директория module

account.tpl вход в личный кабинет
affiliate.tpl блочок с выбором магазина (если их несколько)
banner.tpl отвечает за вывод баннеров
bestseller.tpl выводит хиты продаж
carousel.tpl карусель из баннеров
cart.tpl блочок вход в корзину
category.tpl блочок с списком категорий
currency.tpl блочок с выбором валюты
featured.tpl рекомендуемые
google_talk.tpl окошко обмена мгновенными сообщениями
information.tpl список ссылок на статьи на сайте, ссылки на карту сайта и контакты
language.tpl блочок с выбором языка
latest.tpl выводит последние поступления
slideshow.tpl слайд шоу из баннеров
special.tpl выводит товар с акциями
store.tpl
welcome.tpl выводит текст приветсвия



Буду признателен если вы поделитесь данным постом

Комментарии
  1. Тимур пишет:

    Добрый день!
    Очень интересно у Вас всё написано, добавьте статью как внедрить комментарии от ВКонтакте. Облазли весь инет, форумы, информацию так и не нашел.
    Мне например вообще не понятно, куда вставлять скрипты, где у данной CMS тело страницы.

  2. admin пишет:

    Спасибо, за то что читаете мой блог

    Тело конкретной страницы (вывод продуктов, вывод конкретного товара, страница корзины или любой другой) хранится в конкретном php файле, называемым «представлением». Файлы эти расфасованы по директориям (смотреть здесь www\catalog\view\theme\имя_вашего_шаблона\template). Каждая директория это некая группа схожих страниц, например product содержит файлы представления связанные с отображением продуктов (всех сразу или например одного). Скрипт «комментарии от ВКонтакта» можно расположить в одном из файл представления (какие файлы представление за что отвечают описаны в данном посте), это наиболее простой способ.

    Если будет время, я обязательно создам пост как это сделать

  3. Николай пишет:

    Добрый день. Извиняюсь за возможно глупый вопрос, но откуда движек берет tpl-ы, которых нет в текущем шаблоне? Вот, например, есть у нас два шаблона: default, в котором есть все папки с tpl-ми, и какой-нить пользовательский, в котором есть только common. А задача — поменять способ отображения товара по умолчанию со «списка» на «сетку» для пользовательского шаблона. Как это сделать для версии 1.5.4 — толком нигде не нашел. Буду очень благодарен за помощь!

  4. admin пишет:

    Здравствуйте!

    Касаясь откуда OpenCart берет tpl-ы, которых нет в текущем шаблоне звучит странно. Если tpl отсутствует, должна быть выведена ошибка, о том что страница не найдена. Попробуйте как вариант очистить кэш браузера, возможно в нем сохранились копии старых страниц.

    По поводу как сделать вывод продуктов в виде «сетка». В пользовательском шаблоне найдите tpl-файл «www\catalog\view\theme\имя_вашего_шаблона\template\product\category.tpl», в нем на 70 строке описан div с классом «product-list». Прописанный класс в этом div-e как раз и отвечает каким образом выводить товар по умолчанию, т.е. сеткой или списком. Для того что бы товар выводился «сеткой» по умолчанию, вместо «product-list» пропишите «product-grid».

  5. Николай пишет:

    Спасибо за ответ!
    Но по поводу темплейтов — все равно какие-то чудеса. В загруженном шаблоне есть только папка common. Других нет, и соответственно нет других файлов. Шаблон — бесплатный (http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3541), в процессе накручивался самостоятельно.

  6. admin пишет:

    Посмотрел немного код, я допустил ошибку когда сказал вам «если tpl отсутствует, должна быть выведена ошибка, о том что страница не найдена».
    В OpenCart если у пользовательского шаблона (не deafault) отсутствует нужный для данной страницы tpl-файл, то выводиться будет tpl шаблона default.

    Вкратце процесс выглядит так:
    пользователь делает запрос, например «http://доменное_имя/index.php?route=product/product&product_id=40», в OpenCart данный запрос обрабатывает php скрипт «www\catalog\controller\product\product.php» — называемый контроллером. В каждом контроллере OpenCart есть следующий код:

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

    который говорит нам, что если у пользовательского шаблона отсутствует файл product.tpl то мы будем использовать product.tpl шаблона default.

    В вашем случае получается, что tpl-ы шаблона default используются почти всегда, поэтому править в большинстве случаев придется их.

  7. Николай пишет:

    Спасибо большое! Теперь понятно.

  8. Иван пишет:

    День добрый! подскажите пожалуйста как подредактировать страницу «оформления заказа» opencart 1.5.6

    А именно к примеру в платежной информации убрать поля : Факс, компания. Не могу найти тот файл в котором описаны эти div’Ы

  9. admin пишет:

    Корзина в OpenCart сложновата, там не все так очевидно. Сам ковырялся в ней, не один день.
    Просто убрать поля не получиться, их содержимое проверяет контроллер. К сожалению я вас сейчас не подскажу, что надо конкретно править. Надо разбираться и смотреть все сначала.

    Если самим разобраться не получиться, обращайтесь, что нибудь придумаем.

  10. Avox пишет:

    featured.tpl — рекомендуемые

  11. admin пишет:

    Спасибо, подправлю

  12. Андрей пишет:

    Добрый день, помогите разобраться с проблемой, вот ссылка на тему (я создавал) https://opencartforum.com/topic/47279-не-показывает-телефон-и-e-mail-при-просмотре-заказа-с/, если можно отпишите пожалуйста на mail

  13. admin пишет:

    Добрый день Андрей.
    Извините, но я не имею доступ на данный форум. Разногласия с админом форума.

  14. Андрей пишет:

    напишите мне пожалуйста на email, я Вам там опишу проблему и скрины покажу

  15. admin пишет:

    Андрей, сегодня к обеду я напишу вам на почту.

  16. Тери пишет:

    Доброго времени суток, подскажите из какого файла загружается сервер сайта на OpenCart

  17. admin пишет:

    Добрый день Тери!

    Не понял вопроса, что вы понимаете под сервером?

    Если вы имеете ввиду, чисто технически какой запускается на исполнение первый файл, какой второй и т.д. при обращение на страницу, то это сказать не так просто. Для этого, надо разбирать по косточкам и изучать движок OpenСart.

    Тем более, для создания шаблона это знать нет необходимости, достаточно уметь создавать контроллеры, модели и представления в той части CMS, которая отвечает за вывод страниц пользователю.

  18. Ирина пишет:

    Пост обалденный!Займусь изучением! Хочу в личном кабинете в истории заказов сделать блок с возможностью редактирования удаления и поднятия объявлений вот хитрая задача, Интересно можно такое сделать?

  19. admin пишет:

    Добрый день! Спасибо что читаете мой блог =)

    Хм, а что такое объявления? Вы имеет ввиду позиция, т.е. товар?

  20. Flame пишет:

    Здравствуйте.
    Извините, может, глупый вопрос — а как отредактировать код конкретной страницы товара??? где лежат эти страницы? Захожу на фтп в папку mysite.ru и там только те директории, что прописаны у Вас в посте.

    У меня есть два дубля, хочу поставить link canonical на одной из страниц, где мне это можно вставить?

  21. admin пишет:

    Добрый день Flame!

    Страниц на каждый товар не существует, то что вы видите это результат работы php скриптов, которые обращаются в базу данных и выводят результат в виде страницы.

    Расскажите поподробнее, что значит поставить «link canonical»?

  22. Flame пишет:

    Дорогой Админ, спасибо большое за ответ! Я уже вся испсиховалась =))) в попытке найти эти страницы )

    По поводу дублей: разве не нужно указывать одну страницу в качестве канонической?

    rel=»canonical»
    Предположим, вы хотите указать URL https://blog.example.com/dresses/green-dresses-are-awesome/ в качестве основного (причем содержание этой страницы доступно и по другим адресам). Сообщить об этом поисковой системе можно следующим образом:

    Пометьте каноническую страницу и ее остальные варианты атрибутом rel=»canonical».
    Добавьте в раздел этих страниц элемент с атрибутом rel=»canonical».

    Админ, и Вы еще не подскажете. Почему то у меня на странице родительской категории не выводятся описания. У меня стоит версия 2.0.1.1 На страницах подкатегорий описания выводятся, а вот на странице родительской — нет. Не понимаю, почему.

  23. admin пишет:

    Flame я не устанавливал rel=”canonical” в страницах специально. CMS WordPress например их устанавливает сам. Поэтому я не подскажу вам, на счет «по поводу дублей: разве не нужно указывать одну страницу в качестве канонической?»

    Если вы хотите добавить данный тег на все страницы, то необходимо подправить следующий скрипт:
    catalog\view\theme\mebel-profil\template\common\header.tpl
    Он как раз отвечает за вывод «шапки» для всех страниц.

    Насчет почему не выводиться описание в родительской категории надо смотреть конкретно код.

  24. Алекс пишет:

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

  25. admin пишет:

    Это трудно сказать, я могу вам подсказать другой способ восстановления пароля.

  26. Сергей пишет:

    Добрый день. Подскажите пожалуйста, куда вставить код ретаргетинга для отдельной категории товара и в какой папке найти категории? Для всего сайта в footer.tpl сделал. Спасибо)

  27. admin пишет:

    Добрый день Сергей.

    Вам нужно работать с контроллером «\catalog\controller\product\category.php». Там есть переменная-массив $category_info, в которой элемент ‘name’ подскажет вам имя категории.
    Используйте if для проверки принадлежности категорий к нужным вам. В теле условия надо объявить $data[‘имя_вашей_переменой’]=»ваш код для ретаргетинга», где имя_вашей_переменной это переменная которая будет видна в шаблоне «\catalog\view\theme\sstore\template\product\category.tpl».

    Если будут проблемы, я всегда вам могу помочь, для этого вам нужно обратиться на страницу услуги.

  28. Kristina пишет:

    Добрый день. Надеюсь здесь найдется ответ на мой вопрос. ПОсле успешной регистрации и оформлении заказа, пользователь не может войти в свою учетную запись, выдается Запрашиваемая страница не найдена! Я изменила файл index.php
    // Maintenance Mode
    $controller->addPreAction(new Action(‘common/maintenance’));

    // SEO URL’s
    $controller->addPreAction(new Action(‘common/seo_url’));

    но проблема осталась. Спасибо заранее

  29. admin пишет:

    Добрый день Кристина!

    Честно говоря, мне трудно так сказать в чем причина вашей проблемы.
    Я могу посмотреть ваш код, но это уже будет в рамках оказания услуг. Если это интересно, свяжитесь со мной через страницу услуги.

  30. Елена пишет:

    Добрый день! Подскажите, пожалуйста, какие файлы в Opencart отвечают за вывод списка заказов в админке? Мне нужно перенести этот текущий список и соответственно все заказы в новую версию сайта, чтобы не потерять статистику заказов.

  31. admin пишет:

    Добрый день Елена!

    Извините за поздний ответ. Вам нужны не просто файлы, все данные хранятся в базе данных, вам нужно вырезать кусок из нее. Если нужно помощь вы можете обратиться ко мне через страницу услуги.



Ваш комментарий


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены