- Зміст
- Перевизначення макетів і подмакетов Virtuemart 3. Важливо!
- Загальне правило перевизначення макетів
- Загальне правило перевизначення подмакетов
- Основні макети Virtuemart 3. Головна сторінка (virtuemart)
- Основні макети Virtuemart 3. Сторінка категорії товарів (category)
- Основні макети Virtuemart 3. Сторінка товару (productdetails)
- Основні макети Virtuemart 3. Кошик товарів (cart)
- Основні макети Virtuemart 3. Сторінка виробника (manufacturer)
- Основні макети Virtuemart 3. Виписаний рахунок / Сторінка перегляду інформації про замовлення (invoice)
- Основні макети Virtuemart 3. Листи з подробицями замовлень, що відправляються продавцю і покупцю (invoice mail)
- Основні макети Virtuemart 3. Список замовлень в особистому кабінеті (orders)
- Основні макети Virtuemart 3. Редагування даних користувача в особистому кабінеті (user)
- Основні макети Virtuemart 3. Форма спливаючого вікна «Задати питання по товару» (askquestion)
- Подмакети Virtuemart 3 (блоки, які можуть зустрічатися на різних сторінках)
У даній статті описані всі макети сторінок Virtuemart 3, а також наведено їх зображення для більш зручного орієнтування по ним.
У вас є інтернет-магазин на Joomla 3 + Virtuemart 3, і ви хочете змінити або відредагувати якийсь блок на сторінках магазину? У цій статті я розповім, як це зробити.
У даній статті описані всі макети сторінок Virtuemart 3, а також наведено їх зображення для більш зручного орієнтування по ним.
Інформація з даної статті на 95% може бути застосована і для Virtuemart 2.
Шість років тому (Боже, невже пройшло 6 років!?) Я вже писав мега-статтю з описом всіх макетів Virtuemart. Та стаття була розбита на 3 частини. Ви і зараз зможете знайти її в серії статей Virtuemart - інтернет-магазин на Joomla . В тій статті були описані макети Virtuemart 1.1. x для Joomla 1.5.
Навіщо потрібна нова стаття? Справа в тому, що макети в Virtuemart 2 і Virtuemart 3 абсолютно інші. Сам я, по роду діяльності, так часто роблю інтернет-магазини на Virtuemart , Що вивчив майже всі макети напам'ять. Але якщо ви не зайшли настільки ж далеко, то інформація про те, де яка сторінка Virtuemart 3 редагується, може бути дуже корисною при створення сайту на Joomla .
Цього разу я не буду розбирати опис всіх макетів на кілька статей. Вся витримка по макетах з зображеннями представлена для вас в цій мега-статті.
Зміст
Основні макети Virtuemart 3
Подмакети Virtuemart 3 (блоки, які можуть зустрічатися на різних сторінках)
Перевизначення макетів і подмакетов Virtuemart 3. Важливо!
Не вносьте зміни безпосередньо в макети Virtuemart, які знаходяться в директорії components / com_virtuemart / views / .Такі зміни будуть втрачені при першому ж оновленні Virtuemart. Щоб не втратити зміни, необхідно вносити їх в макети, які перевизначені в використовуваний вами шаблон Joomla.
Загальне правило перевизначення макетів
Щоб перевизначити макет в шаблон Joomla, скопіюйте файл:
components / com_ virtuemart / views / КАТЕГОРІЯ_МАКЕТА / tmpl / НАЗВАНІЕ_МАКЕТА. php
в директорію:
templates / ВАШ_ШАБЛОН / html / com_ virtuemart / КАТЕГОРІЯ_МАКЕТА /
Приклад перевизначення макетів:
Для перевизначення макета картки товару потрібно скопіювати файл:
components / com_virtuemart / views / productdetails / tmpl / default.php
в директорію:
templates / ВАШ _ШАБЛОН / html / com_virtuemart / productdetails /
Загальне правило перевизначення подмакетов
Щоб перевизначити подмакет в шаблон Joomla, скопіюйте файл:
components / com_virtuemart / sublayouts / НАЗВА _МАКЕТА .php
в директорію:
templates / ВАШ _ШАБЛОН / html / com_virtuemart / sublayouts /
Приклад перевизначення подмакетов:
Для перевизначення подмакета цін товару потрібно скопіювати файл:
components / com_virtuemart / sublayouts / prices.php
в директорію:
templates / ВАШ _ШАБЛОН / html / com_virtuemart / sublayouts /
Основні макети Virtuemart 3. Головна сторінка (virtuemart)
components / com_virtuemart / views / virtuemart / default.php - основний макет головної сторінки. Містить опис магазину, список категорій верхнього рівня вкладеності, і список товарів в залежності від налаштувань в адмінці.
components / com_virtuemart / views / virtuemart / feed.php - макет RSS-фида товарів VM.
components / com_virtuemart / views / virtuemart / off_line.php - макет сторінки вимкненого магазину.
Основні макети Virtuemart 3. Сторінка категорії товарів (category)
components / com_virtuemart / views / category / default.php - основний макет категорії товарів Virtuemart. Містить опис категорії, список дочірніх категорій, список товарів категорії.
components / com_ virtuemart / views / category / categories. php - макет списку дочірніх категорій заданої категорії.
Основні макети Virtuemart 3. Сторінка товару (productdetails)
components / com_virtuemart / views / productdetails / default.php - основний макет сторінки товару. Містить всю інформацію про товар, а також викликає більшість макетів сторінки товару, описаних нижче.
components / com_ virtuemart / views / productdetails / default_ images. php -макет основного зображення на сторінці поточного товару Virtuemart. Містить також скрипти, обробні основне і додаткові зображення.
components / com_ virtuemart / views / productdetails / default_ images_ additional. php - макет додаткових зображень поточного товару Virtuemart.
components / com_ virtuemart / views / productdetails / default_ manufacturer. php - макет містить блок зі списком виробників поточного товару Virtuemart.
components / com_ virtuemart / views / productdetails / default_ pdf. php -макет відображення поточного товару в форматі PDF.
components / com_virtuemart / views / productdetails / default_reviews.php - макет відгуків про поточний товар Virtuemart.
components / com_ virtuemart / views / productdetails / default_ showcategory. php - макет, який показує дочірні категорії тієї категорії, в якій міститься поточний товар на сторінці цього товару.
components / com_ virtuemart / views / productdetails / mail_ html_ notify. php - макет повідомлення покупців, які підписалися на очікування інформації про надходження товару, в форматі HTML.
components / com_ virtuemart / views / productdetails / mail_ raw_ notify. php php - макет повідомлення покупців, які підписалися на очікування інформації про надходження товару, в форматі RAW.
components / com_ virtuemart / views / productdetails / notify. php - макет форми підписки на повідомлення про надходження товару. Показується в разі, коли товару немає в наявності і виставлені відповідні налаштування в конфігурації Virtuemart.
Основні макети Virtuemart 3. Кошик товарів (cart)
Макети кошика складні. Я раджу займатися їх редагуванням тільки тим, хто може добре читати код PHP і HTML. Для всіх інших простіше купити готове розширення односторінкового оформлення замовлення Virtuemart .
components / com_virtuemart / views / cart / default.php - основний макет кошика. Містить всю інформацію, що відображається в кошику, а також викликає більшість макетів кошика, описаних нижче.
components / com_ virtuemart / views / cart / default_ address. php - макет блоку адрес «Кому» / «Куди», які показані над списком товарів в кошику.
components / com_ virtuemart / views / cart / default_ cartfields. php - макет, що містить поля «Примітки та спеціальні запити», згоду з умовою обслуговування, а також додаткові поля, які заповнюються користувачем в кошику.
components / com_ virtuemart / views / cart / default_ coupon. php - макет форми додавання купона в кошику.
components / com_virtuemart / views / cart / default_pricelist.php - макет таблиці товарів в кошику.
components / com_virtuemart / views / cart / default_shopperform.php - макет зміни покупця замовлення. Використовується тільки якщо в настройках VM на вкладці «Оформлення замовлення» активована відповідна опція.
components / com_ virtuemart / views / cart / mini_ cart. php - на поточний момент ніде не використовується.
components / com_ virtuemart / views / cart / order_ done. php - макет сторінки оформленого замовлення, на яку потрапляє покупець після підтвердження замовлення / оплати.
components / com_ virtuemart / views / cart / padded. php - макет спливаючого вікна «Товар доданий в кошик».
components / com_ virtuemart / views / cart / perror. php - макет сторінки спливаючого вікна з помилкою про неможливість додавання в корзину. Таке буває в деяких випадках.
components / com_ virtuemart / views / cart / select_ payment. php - макет способів оплати в кошику.
components / com_virtuemart / views / cart / select_shipment.php - макет способів доставки в кошику.
Основні макети Virtuemart 3. Сторінка виробника (manufacturer)
components / com_virtuemart / views / manufacturer / default.php - основний макет сторінки виробника. Містить список виробників магазину. Цей макет буде показаний для типу пункту меню Joomla Virtuemart -> Виробники.
components / com_ virtuemart / views / manufacturer / default. php - макет сторінки окремого виробника. Містить зображення виробника, опис виробника і посилання на товари виробника. Цей макет буде показаний для типу пункту меню Joomla Virtuemart -> Виробник.
Ви можете запитати: «А де ж макет списку товарів виробників?». Його немає. Роль даного макета виконує макет категорії. По-моєму, це дуже спірне рішення. Відмінність URL товарів заданого виробника від товарів категорії тільки в тому, що в першому випадку передається параметр virtuemart_manufacturer_id замість ID категорії.
Основні макети Virtuemart 3. Виписаний рахунок / Сторінка перегляду інформації про замовлення (invoice)
Дані макети дуже схожі на макети з директорії orders. Не плутайте їх! Інвойси служать для відображення інформації про зроблене замовленні в браузері. Це та сторінка, де потрібно ввести номер замовлення і секретний ключ, та сторінка, що задіяна в листі і може використовуватися для його редагування: Перегляд листи з підтвердженням замовлення по посиланню в браузері . Також інвойс генерує виписаний рахунок в PDF. Ордери ж використовуються в особистому кабінеті для відображення замовлень.
components / com_virtuemart / views / invoice / invoice.php - основний макет рахунку. Містить параметри і позиції замовлення, а також викликає більшість макетів рахунку, описаних нижче.
components / com_ virtuemart / views / invoice / invoice_ order. php - містить подробиці замовлення, статус замовлення, інформацію про доставку.
components / com_virtuemart / views / invoice / invoice_items.php - містить позиції замовлення.
components / com_virtuemart / views / invoice / invoice_history.php - містить історію руху замовлення (зміни статусів замовлення).
Основні макети Virtuemart 3. Листи з подробицями замовлень, що відправляються продавцю і покупцю (invoice mail)
Макети листів складні. Я раджу займатися їх редагуванням тільки тим, хто може добре читати код PHP і HTML. Для всіх інших простіше купити Virtuemart Email Manager Plus .
Всі макети листів представлені в двох форматах: html-лист і raw-лист (звичайне текстове). Нижче описані макети тільки для формату html. Макети листів raw мають точно таке ж значення. Вибрати формат листів можна в загальних налаштуваннях Virtuemart.
components / com_virtuemart / views / invoice / mail_html.php - основний макет письма. Містить всю інформацію, що відображається в листі, а також викликає більшість макетів листи, описаних нижче.
components / com_virtuemart / views / invoice / mail_html_header.php - шапка листи. Містить зображення магазину і інформацію про магазин.
components / com_virtuemart / views / invoice / mail_html_footer.php - підвал листи.
components / com_virtuemart / views / invoice / mail_html_pricelist.php - таблиця замовлених товарів, їх цін і статусів в листі.
components / com_virtuemart / views / invoice / mail_html_shopper.php - інформація про покупця в листі.
components / com_virtuemart / views / invoice / mail_html_shopper_more.php - порожній макет.
components / com_virtuemart / views / invoice / mail_html_shopperaddresses.php - адреса доставки товару, зазначений при оформленні замовлення, в листі.
components / com_virtuemart / views / invoice / mail_html_vendor.php - розширений формат листа для продавців. Якщо ви не використовуєте функціонал мультіпродавцов в VM, а швидше за все так і є, даний макет вам не потрібен.
components / com_virtuemart / views / invoice / mail_html_vendor_more.php - порожній макет.
Основні макети Virtuemart 3. Список замовлень в особистому кабінеті (orders)
components / com_ virtuemart / views / orders / list. php - макет списку замовлень в особистому кабінеті. Відображає перелік замовлень, подробиці кожного з яких виводить наступний макет.
components / com_ virtuemart / views / orders / details. php - основний макет окремого замовлення в особистому кабінеті. Містить всю інформацію, що відображається в замовленні, а також викликає більшість макетів листи, описаних нижче.
components / com_ virtuemart / views / orders / details_ order. php - основна інформація про замовлення в особистому кабінеті.
components / com_virtuemart / views / orders / details_items.php - позиції замовлення в особистому кабінеті.
components / com_virtuemart / views / orders / details_history.php - історія зміни статусів замовлення в особистому кабінеті.
components / com_virtuemart / views / orders / details_pdf.php - порожній макет.
Основні макети Virtuemart 3. Редагування даних користувача в особистому кабінеті (user)
В макетах користувача є одна особливість: користувач може бути як покупцем, так і продавцем магазину. Залежно від прав користувача, частина макетів може не використовуватися, а інша частина замінюватися іншими макетами. З назв макетів в цілому зрозуміло, для яких прав він використовується. Скріншоти не наводжу, тому що вони занадто неоднозначні.
components / com_ virtuemart / views / user / edit. php - основний макет сторінки редагування даних користувача Virtuemart 3. Може бути отриманий шляхом додавання в меню пункту типу Virtuemart -> Обліковий запис. Містить всю інформацію про користувача в полях, що дозволяють її змінити, а також його замовлення і інші елементи. Викликає більшість макетів листи, описаних нижче.
components / com_ virtuemart / views / user / edit_ address. php - макет редагування адреси доставки авторизованого користувача в особистому кабінеті і при оформленні замовлення неавторизованого користувача Virtuemart 3. Макет складний. Реалізовано вкрай неоднозначно.
components / com_ virtuemart / views / user / edit_ address_ addshipto. php - макет вибору адреси доставки з існуючих адрес.
components / com_ virtuemart / views / user / edit_ address_ userfields. php - макет полів призначених для користувача даних адреси.
components / com_ virtuemart / views / user / edit_ orderlist. php - макет списку замовлень користувача в особистому кабінеті при редагуванні полів. Реалізовано в окремій вкладці. Навіщо він потрібен, коли є список components / com_ virtuemart / views / orders / list. php, мені незрозуміло.
components / com_virtuemart / views / user / edit_shopper.php - макет полів призначених для користувача даних.
components / com_virtuemart / views / user / edit_vendor.php - редагування даних продавця. Тільки для користувачів з правами продавця.
components / com_ virtuemart / views / user / edit_ vmshopper. php - макет полів призначених для користувача даних.
components / com_ virtuemart / views / user / login. php - форма авторизації користувача в кошику і особистому кабінеті.
components / com_ virtuemart / views / user / mail_ html_ reguser. php - макет відправлення листа після реєстрації покупця.
components / com_ virtuemart / views / user / mail_ html_ regvendor. php - макет відправлення листа після реєстрації продавця.
Основні макети Virtuemart 3. Форма спливаючого вікна «Задати питання по товару» (askquestion)
components / com_ virtuemart / views / askquestion / form. php - основний макет сторінки форми «Задати питання по цьому товару» Virtuemart 3. Показується у спливаючому вікні на сторінці товару, коли користувач натискає відповідну кнопку.
components / com_ virtuemart / views / askquestion / mail_ confirmed. php - макет з підтвердженням відправлення запиту (не листи!).
components / com_virtuemart / views / askquestion / mail_html_question.php - лист із запитом.
Подмакети Virtuemart 3 (блоки, які можуть зустрічатися на різних сторінках)
У Virtuemart 3 з'явилися так звані «подмакети» або «sublayouts». Подмакети представляють собою елементи магазину, які можуть зустрічатися на різних сторінках. Найяскравіший приклад подмакета - блок цін товару. Він однаковий і в категорії і в картці товару. Тепер, якщо ви хочете змінити щось в блоці цін, вам не потрібно редагувати кілька макетів в різних місцях. Досить відредагувати один подмакет і зміни з'являться відразу на всіх сторінках. Розглянемо подмакети, які пропонує нам Virtuemart 3:
components / com_ virtuemart / sublayouts / addtocart. php - подмакет блоку додавання товару в корзину. Включає в себе подмакети addtocartbar, addtocartbtn, customfields. Чому так складно? Форма додавання товару в корзину може містити в собі додаткові поля, які є атрибутами кошика. І не просто поля, а такі, які можуть мати кілька значень, одне з яких вибирає покупець перед додаванням товару в кошик. Щоб все працювало правильно повинно бути так, як є.
components / com_ virtuemart / sublayouts / addtocartbar. php - подмакет кнопки додавання товару в корзину з формою введення кількості товару.
components / com_ virtuemart / sublayouts / addtocartbtn. php - подмакет кнопки додавання товару в корзину.
components / com_ virtuemart / sublayouts / askrecomjs. php - подмакет, що містить скрипти спливаючого вікна «Задати питання по цьому товару» і «Рекомендувати другу». Якщо у вас які-небудь проблеми зі скриптами цих вікон, то ви можете підправити їх в даному подмакете.
components / com_ virtuemart / sublayouts / categories. php - подмакет списку дочірніх категорій батьківської категорії.
components / com_ virtuemart / sublayouts / customfield. php - PHP-клас, що генерує відображення полів, що настроюються. Винесено сюди, як я розумію, не випадково, а для того, щоб кожен сайт міг перевизначити цей клас і підправити його під особливості бізнесу. Іноді це буває необхідно. Рішення не дуже правильне з точки зору Joomla і MVC, але найбільш просте.
components / com_virtuemart / sublayouts / customfields.php - подмакет полів, що настроюються Virtuemart.
components / com_virtuemart / sublayouts / prices.php - подмакет цін товару Virtuemart 3.
components / com_virtuemart / sublayouts / products.php - подмакет списку товарів категорії Virtuemart 3.
components / com_virtuemart / sublayouts / products_horizon.php - подмакет списку товарів категорії Virtuemart 3 в іншому форматі.
components / com_virtuemart / sublayouts / rating.php - подмакет рейтингу товару.
components / com_virtuemart / sublayouts / related.php - подмакет схожого товару. 1 штука.
components / com_virtuemart / sublayouts / snippets.php - подмакет сніпетів мікророзмітки Schema.org.
components / com_virtuemart / sublayouts / stockhandle.php - подмакет залишків товару.
components / com_virtuemart / sublayouts / tos.php - подмакет умов обслуговування товару.
Приблизно ось таку кількість файлів потрібно обробити, щоб створити якісний шаблон інтернет-магазину Virtuemart. Не варто дивуватися тому, що вони коштують дорого, а інтернет-магазин з унікальним дизайном ще дорожче.
Звідси ж випливає, що безкоштовні шаблони Virtuemart в 99% випадків або неякісні, або не безкоштовні.
Сподіваюся, дана стаття допоможе вам самостійно відредагувати оформлення Virtuemart 3, а також заощадить сотню іншу зелених єнотів =).
PS: Рекомендую також почитати про перевизначення файлів скриптів і стилів Virtuemart .
про автора
Wedal (Віталій). Веб-розробник повного циклу (Full Stack). Творець і автор сайту Wedal.ru.
Основний профіль - створення сайтів і розширень на CMS Joomla.
Ви можете запитати: «А де ж макет списку товарів виробників?Чому так складно?