Если используйте memcached сервер. Необходимо заменить файл system/library/cache.php PHP: <?php class Cache { public function __construct() { if(class_exists('Memcache')) { $this->memcache = new Memcache; } elseif(class_exists('Memcached')) { $this->memcache = new Memcached; } $this->memcache->addServer('127.0.0.1', '11211'); $this->site_key = substr(md5(HTTP_SERVER),0,5); } public function get($key) { $cache = $this->memcache->get($key.'.'.$this->site_key); return unserialize($cache); } public function set($key, $value) { $result = $this->memcache->replace($key.'.'.$this->site_key, serialize($value)); if($result == false) { $this->memcache->set($key.'.'.$this->site_key, serialize($value), false, 3600); // param1 - key // param2 - value // param3 - use_gzip (use compression) // param4 - life_time (cache expires) } } public function delete($key) { $this->memcache->delete($key); } }?>
Дополнение админки, для прописывания ключевых слов, для главной страницы 1. открываем - admin/controller/setting/setting.php а.) после строки : $this->data['entry_meta_description'] = $this->language->get('entry_meta_description'); вставляем : $this->data['entry_meta_keywords'] = $this->language->get('entry_meta_keywords'); $this->data['text_meta_keywords'] = $this->language->get('text_meta_keywords'); б.) ниже после : if (isset($this->request->post['config_meta_description'])) { $this->data['config_meta_description'] = $this->request->post['config_meta_description']; } else { $this->data['config_meta_description'] = $this->config->get('config_meta_description'); } вставляем : if (isset($this->request->post['config_meta_keywords'])) { $this->data['config_meta_keywords'] = $this->request->post['config_meta_keywords']; } else { $this->data['config_meta_keywords'] = $this->config->get('config_meta_keywords'); } 2. открываем - admin/language/russian/setting/setting.php а.) после строки : $_['entry_meta_description'] = 'Мета-тег Description:'; вставляем : $_['entry_meta_keywords'] = 'Мета-тег Keywords:'; $_['text_meta_keywords'] = 'Нет ключевых слов'; 3. открываем - admin/view/template/setting/setting.tpl а.) после строки : <tr> <td><?php echo $entry_meta_description; ?></td> <td><textarea name="config_meta_description" cols="40" rows="5"><?php echo $config_meta_description; ?></textarea></td> </tr> вставляем : <tr> <td><?php echo $entry_meta_keywords; ?></td> <td><textarea name="config_meta_keywords" cols="40" rows="5"> <?php if (empty ($a)) {echo $text_meta_keywords;} else {echo $config_meta_keywords; } ?></textarea></td> </tr> Заходим в админку > Настройки > Витрина > Видим новое поле для ввода - meta keywords
x-guest, x-guest, x-guest, а как сделать чтобы он отображался не вверху а внизу???? --- Добавлено, 1 мар 2014 --- Подскажите как уменшить длину отображения именя в категории к примеру было так Русский язык. 5Класс Афанасьева а надо так Русский язык ну или что бы просто указать кол-во отображающих символов
В карточке товара отображается надпись пример : Цена на 28. 03. 14 путь: catalog\view\theme\Ваша тема\template\product\product Вставить код <table width="90%"> <tr> <td> </td> <td align="right"><table width="176"> <tr> <td width="91" align="right" valign="top"><strong>Цена на</strong> </td> <td width="73" align="right" valign="top" ><script language="JavaScript" type="text/javascript"><!-- var d = new Date(); var month=new Array ( "01.","02.","03.","04.","05.","06.", "07.","08.","09.","10.","11.","12."); document.write(d.getDate()+ " ." + month[d.getMonth()] + " " + d.getFullYear() + " "); //--></script></td> </tr> </table></td> </tr> </table> над этой строчкой <h1><span><?php echo $heading_title; ?></span></h1>
Удаляем надпись работает на Opencart в письме при оформлении заказа В файле /catalog/view/theme/ВАША ТЕМА/template/mail/order.tpl удаляем строчку <p style="margin-top: 0px; margin-bottom: 20px;"><?php echo $text_powered; ?></p>
Решение проблемы с верхним меню (Добавляем свое меню, без категорий) Вот поработаем с фаликом. В файле /catalog/view/theme/ваша_тема/template/common/header.tpl находите код (112 строка) <?php if ($categories) { ?> <div id="menu"> <ul> <?php foreach ($categories as $category) { ?> <li><?php if ($category['active']) { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> </ul> </div> <?php } ?> В нем добавляете какие угодно ссылки. Необходимо понимать, что пункты расположены в тегах <li></li>, а подпункты почему-то в <div></div> Например пункт с подпунктом нужно прописать так <li>Пункт <div> Подпункт Подпункт </div> </li> Если к примеру нужно в начале меню сделать ссылку на главную, а потом оставить категории каталога, пишите так <?php if ($categories) { ?> <div id="menu"> <ul> <li><a href="/">Главная</a></li> <?php foreach ($categories as $category) { ?> <li><?php if ($category['active']) { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> </ul> </div> <?php } ?> Если нужно добавить после каталога, пишите типа такого <?php if ($categories) { ?> <div id="menu"> <ul> <?php foreach ($categories as $category) { ?> <li><?php if ($category['active']) { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children'])/>/> { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> <li><a href="/">Любая ссылка</a></li> </ul> </div> <?php } ?> А чтобы русский текст в браузере отображался нормально, а не "крокозябрами", сохраните header.tpl в кодировке UTF-8 (без ВОМ) (для Notepad++ - верхнее меню кодировка/UTF-8 (без ВОМ))
catalog/view/theme/default/template/common/footer.tpl В самом низу ищите <div id="powered"><?php echo $powered; ?></div> и закоментируйте <!-- -->
Такая тема еще. Если после переноса не работает ЧПУ из-за mod_rewrite. То нужно в /etc/apache2/apache2.conf добавить: Код: <Directory /var/www/site/> Options Indexes FollowSymLinks AllowOverride ALL Require all granted </Directory>
Выполнил всё по пунктам, но почему-то после сохранения при заходе обратно в настройки-витрина, там по прежнему написано "Нет ключевых слов". (1.5.4.1.2)
Если Вы хотите добавить кнопку "Купить" перед заголовком названия товара на странице его карточки, то необходимо сделать следующее: Открываем Код: catalog/view/theme/ваша тема/template/product/product.tpl Находим Код: </h1> И заменяем на Код: <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" /></h1>
Печалько... п1. ver 1.5.6.4 Код: $product_total = $this->model_catalog_product->getTotalProducts($data); $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), Это не сработает... Speed Tip 6: Add Image Dimensions To OpenCart Если вы понимаете что-то в коде Если не понимаете, то... 1. output прогоняется регеспом (задержка) Затем открывается каждое изображение и вычисляется его размерность
а можно в строке $_['text_powered'] = 'Работает на <a href="http://myopencart.ru">ocStore</a><br /> %s © %s'; в файле \catalog\language\russian\common\footer.php просто заменить на $_['text_powered'] = ''; будет тот же эффект --- Добавлено, 26 янв 2015 --- КАК МОЖНО ОТРЕДАКТИРОВАТЬ НИЖНЮЮ ЧАСТЬ СТАНДАРТНОЙ ТЕМЫ OPENCART За вывод нижней части в стандартной теме Opencart отвечает файл catalog\view\theme\default\template\common\footer.tpl в нем соотвественно есть следующие блоки, отвечающие за вывод <h3><?php echo $text_information; ?></h3> – заголовок блока Информация Далее выводятся статьи, созданные через Каталог – Статьи <ul> <?php foreach ($informations as $information) { ?> <li><a href=”<?php echo $information['href']; ?>”><?php echo $information['title']; ?></a></li> <?php } ?> </ul> </div> <?php } ?> Выводится заголовок блока Служба поддержки <div class=”column”> <h3><?php echo $text_service; ?></h3> <ul> <li><a href=”<?php echo $contact; ?>”><?php echo $text_contact; ?></a></li> -выводится форма Связаться с нами <li><a href=”<?php echo $return; ?>”><?php echo $text_return; ?></a></li> – выводится форма Возврат товара <li><a href=”<?php echo $sitemap; ?>”><?php echo $text_sitemap; ?></a></li> – выводится Карта сайта </ul> </div> Следующим блоком выводится информация Дополнительно <div class=”column”> <h3><?php echo $text_extra; ?></h3> – заголовок Дополнительно <ul> <li><a href=”<?php echo $manufacturer; ?>”><?php echo $text_manufacturer; ?></a></li> Производители <li><a href=”<?php echo $voucher; ?>”><?php echo $text_voucher; ?></a></li> Форма подарочных сертификатов <li><a href=”<?php echo $affiliate; ?>”><?php echo $text_affiliate; ?></a></li> Форма подарочного сертификата <li><a href=”<?php echo $special; ?>”><?php echo $text_special; ?></a></li> Акции </ul> </div> Последний блок – Личный кабинет <div class=”column”> <h3><?php echo $text_account; ?></h3> Заголовок <ul> <li><a href=”<?php echo $account; ?>”><?php echo $text_account; ?></a></li> Личный кабинет <li><a href=”<?php echo $order; ?>”><?php echo $text_order; ?></a></li> История заказов <li><a href=”<?php echo $wishlist; ?>”><?php echo $text_wishlist; ?></a></li> Закладки <li><a href=”<?php echo $newsletter; ?>”><?php echo $text_newsletter; ?></a></li> Рассылка </ul> При удалении любого из данных пунктов в нижней части сайта не будет отображаться та или иная информация. При удалении блока <div id=”powered”><?php echo $powered; ?></div> Работает на ocStore и название магазина в футере. Но при удалении данного пункта вы увидите следующую надпись OpenCart is open source software and you are free to remove the powered by OpenCart if you want, but its generally accepted practise to make a small donation. Please donate via PayPal to [email protected]с предложением перевести немного денюжек на развитие проекта Opencart, но что называется дело Ваше)) --- Добавлено, 26 янв 2015 --- Как можно отредактировать верхнюю часть стандартной темы Opencart. За вывод верхней части в стандартной теме Opencart отвечает файл catalog\view\theme\default\template\common\header.tpl в нем соотвественно есть следующие блоки, отвечающие за вывод 1)блок Войти или зарегистрироваться <div id=”welcome”>…</div> 2)блок Главная,Закладки, Корзина покупок, Оформление заказа <div class=”links”> <a href=”<?php echo $home; ?>”><?php echo $text_home; ?></a> -Главная <a href=”<?php echo $wishlist; ?>” id=”wishlist-total”><?php echo $text_wishlist; ?></a> -Закладки <a href=”<?php echo $shopping_cart; ?>”><?php echo $text_shopping_cart; ?></a> – Корзина покупок <a href=”<?php echo $checkout; ?>”><?php echo $text_checkout; ?></a> – Оформление покупок </div> 3)Блок Корзина <?php echo $cart; ?> 4)Блок Язык <?php echo $language; ?> 5)Блок Валюта <?php echo $currency; ?> 6)Блок Поиск <div id=”search”> <div class=”button-search”></div> <input type=”text” name=”search” placeholder=”<?php echo $text_search; ?>” value=”<?php echo $search; ?>” /> </div> Таким образом вырезав один из данных блоков мы можем скрыть его из нашего магазина.
Асинхронная загрузка javascript Следующие действия помогут загружать скрипты уже после того, как страница полностью загрузилась, что существенно увеличит скорость загрузки страницы. 1. В файле catalog/view/theme/*/template/header.tpl удаляем все подключаемые скрипты. 2. В файле catalog/controller/common/header.php удаляем строку $data['scripts'] = $this->document->getScripts(); 3. В файле catalog/controller/common/footer.php добавляем строку $data['scripts'] = $this->document->getScripts(); 4. В файле system/library/response.php перед echo $output; добавляем: $parts = explode('<script type="text/javascript"><!--', $output); $output = $parts[0]; $script = ''; unset($parts[0]); foreach ($parts as $i => $value) { $parts = explode('--></script>', $value); $script .= $parts[0]; $output .= $parts[1]; } $output = str_replace("var user_script = ''", "var user_script = '".str_replace(array("\r", "\n"), '\n\'+\'',addslashes($script))."'",$output); 5. В файле catalog/view/theme/*/template/footer.tpl добавляем перед закрывающим тэгом </body> строку: <script> if (window.addEventListener) { window.addEventListener("load", getAsync(), false); } else if (window.attachEvent) { window.attachEvent("onload", getAsync()); } else { window.onload = getAsync(); } function getAsync() { var scripts = [ 'catalog/view/javascript/bootstrap/js/bootstrap.min.js', //Здесь список скриптов, которые были подключены в шапке сайта 'catalog/view/javascript/common.js' // замените на свои <?php foreach ($scripts as $script) { ?> ,'<?php echo $script; ?>' <?php } ?> ]; var script = document.createElement("script"); script.src = 'catalog/view/javascript/jquery/jquery-2.1.1.min.js'; // Подключение jQuery. Задайте свой путь к плагину jQuery script.onload = function(){ var n = 0; $.each(scripts,function(i,script){ $.getScript(script,function(){ n++; if(n == scripts.length){ var user_script = ''; var script = document.createElement("script"); script.text = user_script; document.body.appendChild(script); } }); }); }; document.body.appendChild(script); } </script> Принцип работы: 1. Сначала загружается jQuery. 2. После загрузки jQuery загружаются все остальные скрипты асинхронно. 3. В файле response.php отделяются скрипты, которые содержатся внутри шаблонов. 4. После загрузки всех скриптов загружаются отделенные выше скрипты. Спасибо за внимание --- Добавлено, 8 фев 2015 --- Асинхронная загрузка изображений Эта доработка позволит загружать видимые в данный момент изображения асинхронно, а изображения вне поля видимости загружать по мере прокрутки страницы к ним. Для этого у всех изображений, которые вы хотите загружать асинхронно, поменяйте атрибут src на realsrc и добавьте js файлик: function inWindow(s){ var scrollTop = $(window).scrollTop(); var windowHeight = $(window).height(); var currentEls = $(s); var result = []; currentEls.each(function(){ var el = $(this); var offset = el.offset(); if(scrollTop <= offset.top && (el.height() + offset.top) < (scrollTop + windowHeight)) result.push(this); }); return $(result); } $(document).ready(function(){ var images = inWindow("img"); $(images).each(function(){ if($(this).attr("realsrc")) { $(this).attr("src",$(this).attr("realsrc")).removeAttr("realsrc"); } }); $(window).scroll(function(){ var images = inWindow("img"); $(images).each(function(){ if($(this).attr("realsrc")) { $(this).attr("src",$(this).attr("realsrc")).removeAttr("realsrc"); } }); }); }); Для асинхронной загрузки изображений в ajax-генерированном контенте нужно добавить : $(document).ajaxStop(function(){ var images = inWindow("img"); $(images).each(function(){ if($(this).attr("realsrc")) { $(this).attr("src",$(this).attr("realsrc")).removeAttr("realsrc"); } }); $(window).scroll(function(){ var images = inWindow("img"); $(images).each(function(){ if($(this).attr("realsrc")) { $(this).attr("src",$(this).attr("realsrc")).removeAttr("realsrc"); } }); });});
Идеш в каталог catalog/view/theme/default/template/common/footer.tpl В низу строка <div id="powered"><?php echo $powered; ?></div> удали ее.
На офф. сайте Opencart присутствуют платные шаблоны цены от 19 - 45$. Так вот если открыть демку этого шаблона, потом посмотреть код страницы, и открыть ссылочку в которой присутствует путь к файлу stylesheet.css, а потом скопировать в наш stylesheet.css то получается этот платный шаблон, но бесплатно. З.Ы.(не для всех шаблонов это прокатывает) Проверял на Opencart 2.0.1.1, но вероятно это должно работать и в младших версиях... Если не прав поправьте.
Дайте ссылку где смотреть http://www.opencart.com/index.php?r...tension_id=20701&path=1&filter_download_id=39 Вот к примеру ссылка
берешь устанавливаешь чистый Opencart (я установил с опенкарт россия) и дальше баловался путем изменения в stylesheet.css не забываем если в чем то помог то ------------------------------------------------------------------------------>>>
Установка мета тега Keywords для главной страницы через админку Делается по аналогии с метатегом description. Выносим в админку дополнительное поле для ключевиков, как это сделано для description. 1. admin/controller/setting/setting.php (47 строка) и 338 строка 2. admin/language/russian/setting/setting.php (строка 25) 3. admin/view/template/setting/setting.php (75 строка) 4. catalog/controller/common/home.php (c 3 строки) После этих махинаций у вас в настройках магазина появится поле keywords сразу после поля description
А вот например.... Можно использовать как "скрытое поле тегов" и искать по содержимому в кейвордсе. Т.е. теги как таковые иммеб ссылку, а keywords - нет. И неизвестно как в будущем будут вести себя ПС, кроме того можно найти и какое-нибудь другое применение тега. В любом случае - не помешает.