Вітаю друзі, сьогодні хочу опублікувати невелику замітку з ряду корисних речей для інтернет магазину opencart, а саме в даній статті я покажу як можна вивести відображення дати публікації товару в картку, а також в список товарів категорії.
Всі ви вже знаєте що при публікації товару в формі самого додавання товару в адмін панелі, є поле в якому можна вказати коли даний товар з'явився на сайті, так ось це поле ми і виведемо в шаблон магазину.
Я звичайно дуже рідко використовую при розробці інтернет магазину дану можливість, так як вважаю що покупцеві до лампочки коли ви додали цей товар, але деякі замовники просять це зробити, тому ми і розглянемо варіант виведення дати в картці і категорії товарів, можливо комусь це стане в нагоді.
І так приступимо спочатку до самої карточки товару.
Для того щоб додати дату надходження в картку нам буде потрібно, відредагувати всього три файли, а саме:
1 2 3 4 |
catalog/controller/product/product.php catalog/view/theme/*/template/product/product.tpl catalog/language/english/product/product.php (якщо сайт на двох мовах) catalog/language/russian/product/product.php |
Першим ми внесемо зміни в файл контролера catalog/controller/product/product.php, редагуємо:
Шукаємо рядок:
1 |
$this->data['text_wait'] = $this->language->get('text_wait'); |
Після якого додаємо наступне:
1 |
$this->data['text_date_added'] = $this->language->get('text_date_added'); |
Тобто, ми додали мовну змінну.
Далі в тому ж файлі шукаємо:
1 |
$this->data['model'] = $product_info['model']; |
І після додаємо:
1 |
$this->data['date_added'] = $product_info['date_added']; |
Наступним кроком ми додамо в файл catalog/language/russian/product/product.php сам текст, десь перед:
1 |
$_['text_wait'] |
Додаємо:
1 |
$_['text_date_added'] = 'Дата надходження:'; |
Те ж саме робимо з усіма мовами які використовуєте на своєму сайті.
Ну і останній пункт це вивід дати публікації в сам шаблон картки товару в файл catalog/view/theme/*/template/product/product.tpl :
Знаходимо щось схоже на це:
1 |
<span><?php echo $text_model; ?></span> <?php echo $model; ?><br /> |
І нижче або вище додаємо це:
1 |
<span><?php echo $text_date_added; ?> </span><?php echo $date_added; ?><br /> |
PS: Дата відображається повністю, разом з точним часом, якщо ж вам потрібно прибрати вивід часу а залишити тільки конкретно дату надходження, тоді замість:
1 |
$this->data['date_added'] = $product_info['date_added']; |
Додаємо наступний код:
1 |
$this->data['date_added'] = date($this->language->get('date_format_short'), strtotime($product_info['date_added'])); |
Ось власне і все, тепер поруч з полем моделі буде відображатися дата надходження товару.
Як я і обіцяв на початку статті, ми розглянемо також можливість виведення дати в список товарів категорії, і так приступимо:
Як і у випадку з додаванням дати в картці товару, в категорії ми будемо вносити зміни всього в три файли, і наші дії будуть практично однаковими, за винятком деяких моментів.
Вносити зміни ми будемо в файли:
1 2 3 4 |
catalog/controller/product/category.php catalog/view/theme/*/template/product/category.tpl catalog/language/english/product/category.php (якщо сайт на двох мовах) catalog/language/russian/product/category.php |
Першим внесемо зміни в контролер catalog/controller/product/category.php.
Шукаємо рядок:
1 |
$this->data['text_model'] = $this->language->get('text_model'); |
Після якого додаємо наступний код:
1 |
$this->data['text_date_added'] = $this->language->get('text_date_added'); |
Далі в тому ж файлі шукаємо:
1 |
'product_id' => $result['product_id'], |
І після додаємо наступне:
1 2 3 |
'date_added' => $result['date_added'], Або 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), |
Далі відкриваємо мовний файл catalog/language/russian/product/category.php
І після:
1 |
$_['text_manufacturer'] = 'Виробник:'; |
Додаємо:
1 |
$_['text_date_added'] = 'Дата надходження:'; |
Ну і останнім редагуємо файл шаблону категорії catalog/view/theme/*/template/product/category.tpl :
Тут трохи складніше, тому що список товарів як зазвичай має два види відображення, сітка і список, тому нам треба зробити для одного і для іншого варіанту:
І так, виводити дату надходження товару в категорії ми будемо під назвою товару:
Знаходимо:
1 |
<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> |
І після додаємо:
1 |
<div class="date-cat"><span><?php echo $text_date_added; ?> </span><?php echo $product['date_added']; ?></div> |
Далі шукаємо:
1 |
html += ' <div class="name">' + $(element).find('.name').html() + '</div>'; |
Після додаємо:
1 |
html += ' <div class="date-cat">' + $(element).find('.date-cat').html() + '</div>'; |
Після шукаємо:
1 |
html += '<div class="name">' + $(element).find('.name').html() + '</div>'; |
І нижче додаємо знову:
1 |
html += ' <div class="date-cat">' + $(element).find('.date-cat').html() + '</div>'; |
Ось власне і все що потрібно було зробити для того щоб в списку товарів під назвою додався вивід дати надходження. Користуйтеся, сподіваюся я витратив не даремно свого часу на написання даної статті і комусь це стане корисним. Удачі вам.
Немає коментарів
Ви можете залишити коментар першим.