Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

polevser

Новачок
  
  • Публікації

    30
  • З нами

  • Відвідування

Усі публікації користувача polevser

  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 ([email protected]) 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 ([email protected]) 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 руб. код не страшный, можно спокойно пережить это принуждение.
  13. Спасибо, сработало! А можно как-то локализовать это решение непосредственно в модуле? Ведь в других местах оформление может быть иным, у меня вот лично конфликт лишь с мини корзиной возникает, но все таки... Может быть можно как-то извлекать в модуле из одной переменной два значения, price и symbol_right?
  14. Доброй ночи, продолжаю свою эпопею по натягиванию верстки на движок, в данный момент столкнулся с двумя проблемами: 1. Вывод цены в модулях "Акции" (special) и "Хиты продаж" (bestseller) 2. И собственно способ показа-вывода товаров в модуле "Акции" (special) 1. Столкнулся с проблемой разделения числового значения цены, и текстового вывода названия валюты в двух модулях, модуль Акции и модуль Хиты продаж, в обоих случаях код вывода ценника одинаков. В верстке следующий код: <span>2990 <i>руб.</i></span> Визуально выглядит все вот так, чтобы так сказать было проще воспринять общую картину моей проблемы: Я нашел два претендента на форуме, но первый вариант решения у меня не получилось реализовать, выдает ошибку ( ССЫЛКА), а второй я так и не понял как же реализовывать ( ССЫЛКА ) при помощи селектора. Надеюсь на любую помощь, а то без решения все выглядит очень печально, я уже думал забить на это, но думаю что решение поможет не только мне одному. Может быть все таки возможно локальное решение через контроллеры модулей...это было бы шикарно. 2. Вывод товаров идет по алфавиту, в моем случае это не очень хорошо, тк акционных товаров будет больше чем может вместить в себя блок на главной (4 позиции), в связи с чем хотелось бы попросить помочь с реализацией рандомного вывода позиций, то есть чтобы с каждой загрузкой страницы позиции менялись. Заранее огромное спасибо любому кто готов помочь.
  15. Я лишь этот код добавил в \catalog\controller\common\footer.php $this->children = array( 'module/language', 'module/cart' ); Так понимаю это не подключение языкового файла cart.php? Мой \catalog\controller\common\footer.php: https://www.dropbox.com/s/x7fyk67wfuio0il/footer.php
  16. Ага, спасибо. Но собственно catalog\language\ваш язык\module\cart.php я поправил, все сделал как надо, но при срабатывании крипта он все равно вставляет конструкцию по умолчанию. А где еще может быть кроме catalog\language\ваш язык\module\cart.php прописан вид text_items? Он же ш ведь откуда-то дергает его, может быть кэш почистить? Зашел так же в \catalog\controller\module\cart.php там нашел text_items который опять из какого-то массива берет снова text_items если я не ошибаюсь. Белеберда какая-то. $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
  17. Доброй ночи, или же уже почти утра, столкнулся с проблемой оформления корзины, изначально в верстке имеет следующий вид: <div class="bottomline"> <div class="inner"> <a class="bottomline-checkout" href="">Оформить заказ</a> <ul class="bottomline-menu"> <li class="bottomline-menu-compare"><a href=""><span>Сравнение</span><b>0</b></a></li> <li class="bottomline-menu-bookmarks"><a href=""><span>Закладки</span><b>0</b></a></li> <li class="bottomline-menu-basket"><a href=""><span>Корзина</span><b><i>0</i><i>0.00 Руб</i></b></a></li> </ul> <a class="bottomline-upbutton js-upbutton" href="">Наверх</a> </div> </div> В последствии были проделаны следующие манипуляции: 1. Сначала подключил вывод корзины для шаблона /catalog/view/theme/default/template/common/footer.tpl Внеся изменения в файл \catalog\controller\common\footer.php Внесенные изменения: $this->children = array( 'module/cart' ); 2. Вывел корзину в /catalog/view/theme/default/template/common/footer.tpl <li class="bottomline-menu-basket"><?php echo $cart; ?></li> 3. Изменил файл \catalog\language\russian\module\cart.php Код файла: <?php // Heading $_['heading_title'] = 'Корзина покупок'; // Text $_['text_items'] = '<i>%s</i><i>%s</i>'; $_['text_empty'] = 'В корзине пусто!'; $_['text_cart'] = 'Просмотр корзины'; $_['text_checkout'] = 'Оформление заказа'; ?> 4. Почистил шаблон /catalog/view/theme/default/template/module/cart.tpl так как мне не нужна выпадающая корзина, я оставил лишь этот код: <a href="<?php echo $cart; ?>"><span>Корзина</span><b id="cart-total"><?php echo $text_items; ?></b></a> Захожу на страницу товара, нажимаю "Купить", и вроде бы нормально отображающаяся корзина вновь принимает почти старый вид, как будто бы правок и не было никаких, обновляю страницу, все отображается уже с нужным кодом, пример происходящего: https://www.dropbox.com/s/p0d07mds6atnihp/4.png Искал этот $('#cart-total').html(json['total']); из \catalog\view\javascript\common.js Вот собственно этот промежуток где все вершится: function addToCart(product_id, quantity) { quantity = typeof(quantity) != 'undefined' ? quantity : 1; $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + quantity, dataType: 'json', success: function(json) { $('.success, .warning, .attention, .information, .error').remove(); if (json['redirect']) { location = json['redirect']; } if (json['success']) { $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); $('.success').fadeIn('slow'); $('#cart-total').html(json['total']); $('html, body').animate({ scrollTop: 0 }, 'slow'); } } }); } Но так и не смог найти откуда берется этот впихиваемый ajax`ом json['total']. То есть где-то прописана именно такая конструкция: Товаров: N (NN.NNруб) Был бы очень благодарен за помощь в данном вопросе.
  18. Спасибо огромное! Я премного признателен! P.S. для тех кто в танке как почти что и я: Вариант изначальный: foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], 150, 150); } else { $image = FALSE; } $this->data['news'][] = array( 'title' => $result['title'], 'date' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), '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 ); } Вариант итоговый: 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 ); }
  19. Я там внес правки в шаблоны и контроллеры, то есть они уже такие какими я их в данный момент использую, но без вывода даты по человечески: https://www.dropbox.com/s/m2oi34nh2ocg1lp/module2x.zip Ну и плюс плагин отзывов не имел вывода даты, я просто в контроллер внес: 'date' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), Спасибо Вам большое!
  20. Сделал, явно не очень правильно, потому что вышла ошибка: Parse error: syntax error, unexpected ''February'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /home/albissbr/public_html/catalog/controller/module/latestreviews.php on line 49 Вот код который я вставил: https://www.dropbox.com/s/glplcrtysp1y9en/3.png Если Вас не затруднит, Вы не могли бы дать наглядный пример того как я должен сделать? А то я так могу гадать долго-долго.
  21. Повторюсь, я к сожалению не программист, а дизайнер и верстальщик, поэтому и обращаюсь за помощью к тем кто знаком с темой. К тому же я только начал изучать движок, прошу не серчать сильно. Собственно попробовал вот так вот сделать: // Locale $_['code'] = 'ru'; $_['direction'] = 'ltr'; $_['date_format_short'] = 'd F Y'; $replace = array( 'January'=>'Январь' 'February'=>'Февраль' 'March'=>'Март' 'April'=>'Апрель' 'May'=>'Май' 'June'=>'Июнь' 'July'=>'Июль' 'August'=>'Август' 'September'=>'Сентябрь' 'October'=>'Октябрь' 'November'=>'Ноябрь' 'December'=>'Декабрь' ); $date = strtr( $_['date_format_short'], $replace ); echo strtotime( $_['date_format_short'] ); $_['date_format_long'] = 'l dS F Y'; $_['time_format'] = 'h:i:s A'; $_['decimal_point'] = '.'; $_['thousand_point'] = ' '; Выдается ошибка:

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.