Вітаю друзі, сьогодні хочу опублікувати невелику замітку з ряду корисних речей для інтернет магазину 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>';
|
Ось власне і все що потрібно було зробити для того щоб в списку товарів під назвою додався вивід дати надходження. Користуйтеся, сподіваюся я витратив не даремно свого часу на написання даної статті і комусь це стане корисним. Удачі вам.
Немає коментарів
Ви можете залишити коментар першим.