Перейти к содержанию

polevser

Новичок
  • Публикаций

    30
  • Зарегистрирован

  • Посещение

Репутация

3 Обычный

Информация о polevser

  • Звание
    Пользователь
  • День рождения 02.05.1992

Информация

  • Пол
    Мужчина

Посетители профиля

1 464 просмотра профиля
  1. Кто нибудь может за вознаграждение хотя бы помочь? Просто я не программист, лишь рисую и верстаю, поэтому такие задачи сложны. Плюс там еще некоторые моменты будут при интеграции, и если кто-то заинтересован в том чтобы помочь комплексно с интеграцией верстки и пары модулей, то я был бы рад оплатить от А до Я работу. Не размениваясь на мелочи. Возможно я даже ошибся темой, если модераторы тут, то прошу перенести мои два топика в другой раздел.
  2. Кто нибудь может за вознаграждение хотя бы помочь? Просто я не программист, лишь рисую и верстаю, поэтому такие задачи сложны. Плюс там еще некоторые моменты будут при интеграции, и если кто-то заинтересован в том чтобы помочь комплексно с интеграцией верстки и пары модулей, то я был бы рад оплатить от А до Я работу. Не размениваясь на мелочи. Возможно я даже ошибся темой, если модераторы тут, то прошу перенести мои два топика в другой раздел.
  3. Доброй ночи, пытаюсь реализовать немного нестандартную систему вывода подкатегорий при нахождении в категории. Суть заключается в том, чтобы сделать: - показ определенного элемента верстки только в случае наличия в выводимой подкатегории дальнейшей вложенности, а так же скрытие кол-ва товара при наличии этой самой вложенности - показ определенного элемента при наличии подкатегорий в определенном кол-ве Вот наглядный пример того что я пытаюсь реализовать: Пока что все выглядит плачевно. Вот такой вот код в шаблоне: <?php if ($categories) { ?> <div class="menu-cat2"> <h1 class="menu-cat2__title"><?php echo $heading_title; ?></h1> <ul class="menu-cat2__list"> <?php foreach ($categories as $category) { ?> <li class="menu-cat2__item"> <a href="<?php echo $category['href']; ?>" class="menu-cat2__link"> <span class="menu-cat2__underline"><?php echo $category['name']; ?></span> <span class="menu-cat2__count"><?php echo $category['count']; ?></span> <i class="icon--arrow-right"></i> </a> </li> <?php } ?> </ul> <div class="menu-cat2__line"> <a href="#" class="menu-cat2__line__link"> <span class="menu-cat2__line__dotted">Посмотреть остальные категории</span><i class="icon--arrow-left"></i> </a> </div> </div> <?php } else { ?> <h1 class="menu-cat2__title"><?php echo $heading_title; ?></h1> <?php } ?> То есть примерно как-то так видимо: <?php foreach ($categories as $category) { ?> <li class="menu-cat2__item"> <a href="<?php echo $category['href']; ?>" class="menu-cat2__link"> <span class="menu-cat2__underline"><?php echo $category['name']; ?></span> <?php if (НАЛИЧИЕ_ПОДКАТЕГОРИЙ_У_ПОДКАТЕГОРИИ) { ?> <i class="icon--arrow-right"></i> <?php } else { ?> <span class="menu-cat2__count"><?php echo $category['count']; ?></span> <?php } ?> </a> </li> <?php } ?> А вот условие по кол-ву выведенных подкатегорий в кол-ве 9 нужно для вывода или же отказа от вывода блока с ссылкой для раскрытия полного списка остальных подкатегорий "Посмотреть остальные категории", то есть тоже своеобразный if else. Заранее благодарен всем кто откликнется!
  4. Доброй ночи, пытался интегрировать на движок часть верстки связанной с выводом изображений на карточке товара, в моем случае используется скрипт "лупы", и для правильной работы скрипта используется 3 изображения: thumb small large В случае с движком, это переменные: thumb popup и добавленная мной для превьюшек small Вот так вот выглядит код верстки: <div class="product-view__gallery"> <div class="product-view__gallery__main"> <img id="product-view__gallery__main__img" src="images/inline/small/iphone--1.jpg" width="300" height="300" alt="" data-zoom-image="images/inline/large/iphone--1.jpg" class="product-view__gallery__main__img"> </div> <div id="product-view__gallery__thumbs" class="product-view__gallery__thumbs"> <div class="product-view__gallery__thumbs__item"> <a href="product.html" data-image="images/inline/small/iphone--1.jpg" data-zoom-image="images/inline/large/iphone--1.jpg" class="product-view__gallery__thumbs__item__link"> <img src="images/inline/thumb/iphone--1.jpg" width="50" height="96" alt="" class="product-view__gallery__thumbs__item__link__img"> </a> </div> <div class="product-view__gallery__thumbs__item"> <a href="product.html" data-image="images/inline/small/iphone--2.jpg" data-zoom-image="images/inline/large/iphone--2.jpg" class="product-view__gallery__thumbs__item__link"> <img src="images/inline/thumb/iphone--2.jpg" width="14" height="100" alt="" class="product-view__gallery__thumbs__item__link__img"> </a> </div> <div class="product-view__gallery__thumbs__item"> <a href="product.html" data-image="images/inline/small/iphone--2.jpg" data-zoom-image="images/inline/large/iphone--2.jpg" class="product-view__gallery__thumbs__item__link"> <img src="images/inline/thumb/iphone--2.jpg" width="14" height="100" alt="" class="product-view__gallery__thumbs__item__link__img"> </a> </div> </div> <i class="icon--arrow-left product-view__gallery__arrow"></i><i class="icon--arrow-right product-view__gallery__arrow"></i> </div> Вот так вот в шаблоне у меня: <?php if ($thumb || $images) { ?> <div class="product-view__gallery"> <?php if ($thumb) { ?> <div class="product-view__gallery__main"> <img id="product-view__gallery__main__img" src="<?php echo $thumb; ?>" width="300" height="300" alt="" data-zoom-image="<?php echo $popup; ?>" class="product-view__gallery__main__img"> </div> <?php } ?> <?php if ($images) { ?> <div id="product-view__gallery__thumbs" class="product-view__gallery__thumbs"> <?php foreach ($images as $image) { ?> <div class="product-view__gallery__thumbs__item"> <a href="product.html" data-image="<?php echo $image['small']; ?>" data-zoom-image="<?php echo $image['popup']; ?>" class="product-view__gallery__thumbs__item__link"> <img src="<?php echo $image['thumb']; ?>" width="50" height="96" alt="" class="product-view__gallery__thumbs__item__link__img"> </a> </div> <?php } ?> </div> <i class="icon--arrow-left product-view__gallery__arrow"></i><i class="icon--arrow-right product-view__gallery__arrow"></i> <?php } ?> </div> <?php } ?> И вот код контроллера в месте решения вопросов по изображениям: $this->load->model('tool/image'); if ($product_info['image']) { $this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } else { $this->data['popup'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } if ($product_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); } $this->data['images'] = array(); if ($product_info['image']) { $this->data['images'][] = array( 'popup' => $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 'small' => $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')), 'thumb' => $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) ); } $results = $this->model_catalog_product->getProductImages($this->request->get['product_id']); foreach ($results as $result) { $this->data['images'][] = array( 'popup' => $this->data['popup'] = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 'small' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')), 'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) ); } И наконец, пример того что у меня получилось сделать. Я добавил еще в списке превьюшек вывод главного изображения туда, чтобы структура и логика сохранилась. Но, возникла одна неприятность, я заметил что сразу после загрузки страницы, если навести на изображение в обработчике: <?php if ($thumb) { ?> <div class="product-view__gallery__main"> <img id="product-view__gallery__main__img" src="<?php echo $thumb; ?>" width="300" height="300" alt="" data-zoom-image="<?php echo $popup; ?>" class="product-view__gallery__main__img"> </div> <?php } ?> То через переменную data-zoom-image="<?php echo $popup; ?>" идет почему-то отображение последнего изображения из дополнительных, а не изображение которое главное. То есть должно идти: /image/cache/data/products/Falcon%20Eye%20FE-D80C-500x500.jpg А идет почему-то ссылка на отображение пятого полного изображения: /image/cache/data/products/Falcon%20Eye%20FE-D80C-5-500x500.jpg Вот собственно пример из исходного кода страницы: <div class="product-view__gallery__main"> <img id="product-view__gallery__main__img" src="/image/cache/data/products/Falcon%20Eye%20FE-D80C-228x228.jpg" alt="" data-zoom-image="/image/cache/data/products/Falcon%20Eye%20FE-D80C-5-500x500.jpg" class="product-view__gallery__main__img" height="300" width="300"> </div> Подскажите пожалуйста, как решить эту небольшую загвоздку. Заранее премного благодарен!
  5. Спасибо за наводку, но мне нужно именно минимальное использование JS библиотек и всяких наворотов, то есть simple for simple, я сейчас пока что занимаюсь основными моментами по интеграции верстки, но в заключение я обязательно займусь отзывами, статьями и новостями, поэтому с удовольствием приобрел бы модуль, но хочу сразу спросить, есть ли возможность получить Вашу помощь при интеграции отзывов, тк при верстке была создана "система" проверки форм, вот хотел бы узнать, сможете ли вы помочь по человечески это совместить с модулем, плюс в форме отзывов если вы заметили, выставление оценки идет не через radio а вот таким вот способом: <div class="leave-comment__form__rating__set"> <i data-value="1" class="icon--star icon--star--full"></i> <i data-value="2" class="icon--star icon--star--full"></i> <i data-value="3" class="icon--star icon--star--full"></i> <i data-value="4" class="icon--star"></i> <i data-value="5" class="icon--star"></i> </div> Поэтому да, я заинтересован в покупке модуля, даже более чем, так как хочется как можно меньше костылей использовать для дальнейшего безболезненного обновления движка, но мне нужна помощь, тк в JS и PHP я не силен для глобальных пертурбаций.
  6. Ну это немного не то, я просто не понимаю что именно вы вкладываете в понятие "автоматом" у меня там дополнительный класс для отображения выделения, он уникальный для каждого меню, но это не суть, суть в том что как реализовать выпадающее, получается это 3 виджета надо будет делать, и вопрос как их правильно вывести, усложнение. Но у меня вопрос по отзывам и новостям есть, сейчас использую модуль News 1.5.5 но там проблемы с ЧПУ и с некоторыми другими моментами, а вот с отзывами хотел бы узнать можно ли реализовать на Вашем модуле такое оформление? То есть вывести в шаблон продукта переменную о кол-ве отзывов, и собственно оформить сами отзывы как у меня в верстке? (Общий балл по голосованию, индивидуальные баллы у каждого отзыва, и форма добавления) Спасибо огромное, как раз то что нужно было, премного признателен!
  7. Да, к сожалению именно руками, просто они включают в себя элементы которые ну автоматом в таком порядке наверное не конфигурирует движок никак, то есть это не список же категорий. А можете помочь сделать костыль или сказать как бы это реализовать по уму? За плату если требуется конечно. Вот кстати пример того как они расположены: http://albis-sb.ru/verstka/index.html Верхнее меню и среднее справа от лого. Был бы очень признателен!
  8. Доброй ночи, или уже утра, хотел бы попросить помощи с буквально косметической доработкой модуля, модуль немного правился для показа человеческой даты добавления материала, изменения вносились лишь в /catalog/controller/module/ и в /catalog/controller/information/. То есть доработка заключалась в том чтобы сделать вывод названия месяца на русском языке. Но возникла проблема с микроразметкой как в списке новостей, так и на странице полной новости, но на странице полной новости еще и месяц никак не получается сделать человеческим. Вот как выглядит кусок кода отвечающий за вывод новостей в списке и на полной странице новости, шаблон /catalog/view/theme/default/template/information/news.tpl <?php if(isset($news_info)) { ?> <div class="container__row"> <!-- BEGIN .news-view--> <div class="news-view"> <h1 class="news-view__title"><?php echo $heading_title; ?></h1> <time datetime="2014-07-22" class="news-view__date"><?php echo $news['posted_date']; ?></time> <!-- Вот здесь вот вообще не отрабатывает и сыпется ошибка --> <p class="news-view__par"> <?php echo $description; ?> </p> <a href="<?php echo $news; ?>" class="news-view__back">Вернуться назад</a> </div> <!-- END .news-view--> </div> <?php } elseif (isset($news_data)) { ?> <div class="container__row"> <!-- BEGIN .news-list--> <div class="news-list"> <h1 class="news-list__title">Наши новости</h1> <?php foreach ($news_data as $news) { ?> <article class="news-list__item"> <h2 class="news-list__item__title"><a href="<?php echo $news['href']; ?>" class="news-list__item__title__link"><?php echo $news['title']; ?></a></h2> <time datetime="2014-07-22" class="news-list__date"><?php echo $news['posted_date']; ?></time> <!-- Тут отрабатывает вывод даты, но не хватает переменной для вывода даты под микроразметку --> <?php if ($news['thumb']) { ?> <img src="<?php echo $news['thumb']; ?>" width="200" alt="<?php echo $news['title']; ?>" class="news-list__image"> <?php } ?> <p class="news-list__par"><?php echo $news['description']; ?>...</p><a href="<?php echo $news['href']; ?>" class="news-list__item__more">Подробнее</a> </article> <?php } ?> </div> <!-- END .news-list--> </div> <div class="container__row"> <!-- BEGIN .pagination--> <div class="pagination"> <?php echo $pagination; ?> </div> <!-- END .pagination--> </div> <?php } ?> То есть для списка новостей <time datetime="2014-07-22" class="news-list__date"><?php echo $news['date']; ?></time> отрабатывает как надо, но не хватает лишь переменной для вывода под микроразметку, на странице новости тоже самое, но только никак не получается сделать замену английских имен месяцев на русские. Хотел бы попросить помочь с созданием двух нормальных переменных как для списка новостей, так и для полной новости. То есть чтобы в обоих местах они отрабатывали по человечески: <?php echo $news['posted_date']; ?> - вывод обычной даты с выводом названия месяца на русском языке <?php echo $news['posted_datetime']; ?> - вывод уже даты в формате для микроразметки, то есть 2014-07-22 Просто я не программист, поэтому не получилось с пол пинка это сделать... Заранее спасибо огромное за любую помощь! Измененный файл /catalog/controller/module/news.php <?php // News Module for Opencart v1.5.5, modified by villagedefrance (contact@villagedefrance.net) class ControllerModuleNews extends Controller { private $_name = 'news'; protected function index($setting) { static $module = 0; $this->language->load('module/' . $this->_name); $this->data['heading_title'] = $this->language->get('heading_title'); $this->load->model('localisation/language'); $languages = $this->model_localisation_language->getLanguages(); $this->data['customtitle'] = $this->config->get($this->_name . '_customtitle' . $this->config->get('config_language_id')); $this->data['header'] = $this->config->get($this->_name . '_header'); if (!$this->data['customtitle']) { $this->data['customtitle'] = $this->data['heading_title']; } if (!$this->data['header']) { $this->data['customtitle'] = ''; } $this->data['icon'] = $this->config->get($this->_name . '_icon'); $this->data['box'] = $this->config->get($this->_name . '_box'); $this->document->addStyle('catalog/view/theme/default/stylesheet/news.css'); $this->load->model('catalog/news'); $this->data['text_more'] = $this->language->get('text_more'); $this->data['text_posted'] = $this->language->get('text_posted'); $this->data['show_headline'] = $this->config->get($this->_name . '_headline_module'); $this->data['news_count'] = $this->model_catalog_news->getTotalNews(); $this->data['news_limit'] = $setting['limit']; if ($this->data['news_count'] > $this->data['news_limit']) { $this->data['showbutton'] = true; } else { $this->data['showbutton'] = false; } $this->data['buttonlist'] = $this->language->get('buttonlist'); $this->data['newslist'] = $this->url->link('information/news'); $this->data['numchars'] = $setting['numchars']; if (isset($this->data['numchars'])) { $chars = $this->data['numchars']; } else { $chars = 100; } $this->data['news'] = array(); $results = $this->model_catalog_news->getNewsShorts($setting['limit']); $this->load->model('tool/image'); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], 150, 150); } else { $image = FALSE; } $replace = array( 'January'=>'января', 'February'=>'февраля', 'March'=>'марта', 'April'=>'апреля', 'May'=>'мая', 'June'=>'июня', 'July'=>'июля', 'August'=>'августа', 'September'=>'сентября', 'October'=>'октября', 'November'=>'ноября', 'December'=>'декабря' ); $this->data['news'][] = array( 'title' => $result['title'], 'date' => strtr(date($this->language->get('date_format_short'), strtotime($result['date_added'])), $replace), 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $chars), 'href' => $this->url->link('information/news', 'news_id=' . $result['news_id']), 'thumb' => $image ); } $this->data['module'] = $module++; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/' . $this->_name . '.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/' . $this->_name . '.tpl'; } else { $this->template = 'default/template/module/' . $this->_name . '.tpl'; } $this->render(); } } ?> И измененный /catalog/controller/information/news.php собственно по которому и вопрос <?php // News Module for Opencart v1.5.5, modified by villagedefrance (contact@villagedefrance.net) class ControllerInformationNews extends Controller { public function index() { $this->language->load('information/news'); $this->load->model('catalog/news'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'href' => $this->url->link('common/home'), 'text' => $this->language->get('text_home'), 'separator' => false ); if (isset($this->request->get['news_id'])) { $news_id = $this->request->get['news_id']; } else { $news_id = 0; } $news_info = $this->model_catalog_news->getNewsStory($news_id); if ($news_info) { $this->data['breadcrumbs'][] = array( 'href' => $this->url->link('information/news'), 'text' => $this->language->get('heading_title'), 'separator' => $this->language->get('text_separator') ); $this->data['breadcrumbs'][] = array( 'href' => $this->url->link('information/news', 'news_id=' . $this->request->get['news_id']), 'text' => $news_info['title'], 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($news_info['title']); $this->document->setDescription($news_info['meta_description']); $this->document->setKeywords($news_info['meta_keyword']); $this->document->addLink($this->url->link('information/news', 'news_id=' . $this->request->get['news_id']), 'canonical'); $this->data['news_info'] = $news_info; $this->data['heading_title'] = $news_info['title']; $this->data['description'] = html_entity_decode($news_info['description']); $this->data['meta_keyword'] = html_entity_decode($news_info['meta_keyword']); $this->data['viewed'] = sprintf($this->language->get('text_viewed'), $news_info['viewed']); $this->data['addthis'] = $this->config->get('news_newspage_addthis'); $this->data['min_height'] = $this->config->get('news_thumb_height'); $this->data['posted_date'] = date($this->language->get('date_format_short'), strtotime($news_info['date_added'])); $this->load->model('tool/image'); if ($news_info['image']) { $this->data['image'] = TRUE; } else { $this->data['image'] = FALSE; } $this->data['thumb'] = $this->model_tool_image->resize($news_info['image'], $this->config->get('news_thumb_width'), $this->config->get('news_thumb_height')); $this->data['popup'] = $this->model_tool_image->resize($news_info['image'], $this->config->get('news_popup_width'), $this->config->get('news_popup_height')); $this->data['button_news'] = $this->language->get('button_news'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['news'] = $this->url->link('information/news'); $this->data['continue'] = $this->url->link('common/home'); if (isset($_SERVER['HTTP_REFERER'])) { $this->data['referred'] = $_SERVER['HTTP_REFERER']; } $this->data['refreshed'] = 'http://' . $_SERVER['HTTP_HOST'] . '' . $_SERVER['REQUEST_URI']; if (isset($this->data['referred'])) { $this->model_catalog_news->updateViewed($this->request->get['news_id']); } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/news.tpl')) { $this->template = $this->config->get('config_template') . '/template/information/news.tpl'; } else { $this->template = 'default/template/information/news.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['page'])) { $page = $this->request->get['page']; $url .= '&page=' . $this->request->get['page']; } else { $page = 1; } $limit = $this->config->get('config_catalog_limit'); $data = array( 'page' => $page, 'limit' => $limit, 'start' => $limit * ($page - 1), ); $total = $this->model_catalog_news->getTotalNews(); $pagination = new Pagination(); $pagination->total = $total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('information/news', $url . '&page={page}', 'SSL'); $this->data['pagination'] = $pagination->render(); $news_data = $this->model_catalog_news->getNews($data); if ($news_data) { $this->document->setTitle($this->language->get('heading_title')); $this->data['breadcrumbs'][] = array( 'href' => $this->url->link('information/news'), 'text' => $this->language->get('heading_title'), 'separator' => $this->language->get('text_separator') ); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_more'] = $this->language->get('text_more'); $this->data['text_posted'] = $this->language->get('text_posted'); $chars = $this->config->get('news_headline_chars'); $this->load->model('tool/image'); foreach ($news_data as $result) { $replace = array( 'January'=>'января', 'February'=>'февраля', 'March'=>'марта', 'April'=>'апреля', 'May'=>'мая', 'June'=>'июня', 'July'=>'июля', 'August'=>'августа', 'September'=>'сентября', 'October'=>'октября', 'November'=>'ноября', 'December'=>'декабря' ); $this->data['news_data'][] = array( 'id' => $result['news_id'], 'title' => $result['title'], 'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('news_thumb_width'), $this->config->get('news_thumb_height')), 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $chars), 'href' => $this->url->link('information/news', 'news_id=' . $result['news_id']), 'posted_date' => strtr(date($this->language->get('date_format_short'), strtotime($result['date_added'])), $replace) ); } $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/news.tpl')) { $this->template = $this->config->get('config_template') . '/template/information/news.tpl'; } else { $this->template = 'default/template/information/news.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $this->document->setTitle($this->language->get('text_error')); $this->document->breadcrumbs[] = array( 'href' => $this->url->link('information/news'), 'text' => $this->language->get('text_error'), 'separator' => $this->language->get('text_separator') ); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } } ?>
  9. Доброй ночи, столкнулся с проблемой оформления при выводе товаров через модуль "Акции" на главной странице магазина, то есть первый товар в списке оформлен иначе чем все последующие, и поэтому возник вопрос, можно ли сделать условие в шаблоне для товара который будет выводится первым в списке? Вот пример того как это выглядит в идеале: А вот код в верстке: <div class="special-proposal"> <h3 class="special-proposal__title">Специальные предложения по акциям!<i class="icon--sale"></i></h3> <div class="special-proposal__item special-proposal__item--large"> <a href="index.html" class="special-proposal__item__link"> <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img"> </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a> <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">20 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span> </p> </div> <div class="special-proposal__item special-proposal__item"> <a href="index.html" class="special-proposal__item__link"> <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img"> </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a> <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">2 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span> </p> </div> <div class="special-proposal__item special-proposal__item"> <a href="index.html" class="special-proposal__item__link"> <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img"> </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a> <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">20 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span> </p> </div> <div class="special-proposal__item special-proposal__item"> <a href="index.html" class="special-proposal__item__link"> <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img"> </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW SR TMH18LTW</a> <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">3 333</span><span class="special-proposal__item__price-wrap__currency">руб.</span> </p> </div><span class="special-proposal__del-line"></span><a href="index.html" class="special-proposal__view-all">Посмотреть все специальные предложения</a> </div> То есть по сути идет просто приписка в class="" вида "--large", и встает вопрос, мог ли бы кто нибудь помочь с доработкой, чтобы можно было задать условие в шаблоне? Вот как сейчас выглядит шаблон, пришлось за комментировать кусок кода, чтобы не рушить все: <!-- BEGIN .special-proposal--> <div class="special-proposal"> <h3 class="special-proposal__title">Специальные предложения по акциям!<i class="icon--sale"></i></h3> <?php foreach ($products as $product) { ?> <div class="special-proposal__item special-proposal__item<!-- --large -->"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>" class="special-proposal__item__link"> <img src="<?php echo $product['thumb']; ?>" width="155" alt="<?php echo $product['name']; ?>" class="special-proposal__item__link__img"> </a> <?php } ?> <a href="<?php echo $product['href']; ?>" class="special-proposal__item__title"><?php echo $product['name']; ?></a> <?php if ($product['price']) { ?> <p class="special-proposal__item__price-wrap"> <?php if (!$product['special']) { ?> <span class="special-proposal__item__price-wrap__old-price"><?php echo $product['price']; ?></span> <?php } else { ?> <span class="special-proposal__item__price-wrap__old-price"><?php echo $product['price']; ?></span> <span class="special-proposal__item__price-wrap__price"><?php echo $product['special']; ?></span> <?php } ?> </p> <?php } ?> </div> <?php } ?> <span class="special-proposal__del-line"></span><a href="/specials/" class="special-proposal__view-all">Посмотреть все специальные предложения</a> </div> <!-- END .special-proposal--> Можно ли задать условие if else для первого товара в списке? Заранее благодарен за любую помощь!
  10. Доброй ночи, пытаюсь интегрировать верстку на движок, столкнулся с множеством вопросов, но хочу просить сначала по мелочи грубо говоря. На сайте есть два горизонтальных меню которые идут в header.tpl, в которых некоторым пунктам необходимо применять статус active посредством добавления в class="" дополнительного текста в момент когда находимся на определенных страницах, вот пример этих двух меню: <ul class="header__menu"> <li class="header__menu__item"><a href="/about.html" class="header__menu__item__link header__menu__item__link--active">О компании</a></li> <li class="header__menu__item"><a href="/news/" class="header__menu__item__link">Новости</a></li> <li class="header__menu__item"><a href="#" class="header__menu__item__link">Статьи</a></li> <li class="header__menu__item"><a href="/vacancy.html" class="header__menu__item__link">Вакансии</a></li> <li class="header__menu__item"><a href="/contacts.html" class="header__menu__item__link">Контакты</a></li> </ul> и <ul class="header__menu2"> <li class="header__menu2__item"><a href="/" class="header__menu2__item__link header__menu2__item__link--active">Главная</a></li> <li class="header__menu2__itemli header__menu2__item"><a href="/specials/" class="header__menu2__item__link header__menu2__item__link--action">Акции<i class="icon--sale"></i></a></li> <li class="header__menu2__item"><a href="/payment.html" class="header__menu2__item__link">Оплата</a></li> <li class="header__menu2__item"><a href="/delivery.html" class="header__menu2__item__link">Доставка</a></li> <li class="header__menu2__item dropdown"> <a id="dropdown-1" href="index.html" data-toggle="dropdown" class="header__menu2__item__link header__menu2__item__link--dotted dropdown-toggle">Ещё</a> <ul class="header__menu2__drop-list dropdown-menu"> <li class="header__menu2__drop-list__item"><a href="/warranty.html" class="header__menu2__drop-list__item__link">Гарантийные вопросы</a></li> <li class="header__menu2__drop-list__item"><a href="/return-policy.html" class="header__menu2__drop-list__item__link header__menu2__drop-list__item__link--active">Возврат товара</a></li> <li class="header__menu2__drop-list__item"><a href="/help.html" class="header__menu2__drop-list__item__link">Помощь</a></li> </ul> </li> </ul> Как видите, для того чтобы пункт был выделен, используется приписка "--active", так вот хотел бы узнать, можно ли задать условия для добавления этой приписки на определенных страницах? В моем случае это Главная, модуль Новости, модуль Акции (стандартный от движка), и информационные страницы (раздел "Статьи" в админке) с прописанными, уникальными URL`ами для всех статей-страниц. Чтобы было как можно яснее, то хотелось бы понять, можно ли сделать что-то подобное (пример взят с другого движка): {% if isHandler('news:main') %} class="active"{% endif %} {% if isHandler('static') and handler.params.altname == 'legenda' %} class="active"{% endif %}. {% if isCategory('menu') %} class="active"{% endif %} Заранее буду благодарен любой помощи!
  11. Попробовал и то и то, в обоих случаях ошибки про недопустимые переменные в шаблоне. Ну ладно, попытка не пытка, все равно спасибо огромное за то что подтолкнули в нужном направлении!
  12. Попробовал, в итоге получил ошибку: Ну ладно, я в принципе уже с мини-корзиной разобрался как решить проблему, просто теперь унифицирую всюду верстку, то есть проще говоря подстроюсь, тем более в моём случае 2990 руб. код не страшный, можно спокойно пережить это принуждение.
×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.