belaon Опубліковано: 2 листопада 2014 Share Опубліковано: 2 листопада 2014 Кэш почистила, попробовала поставить статью, но увы всё так же. Ниже скриншот.Суть проблемы такова, что мне нужно чтобы текст был "шире", по ширине странице сайта, а не в длину... на скриншоте видно, аж целое свободное поле справа. Надіслати Поділитися на інших сайтах More sharing options...
belaon Опубліковано: 2 листопада 2014 Share Опубліковано: 2 листопада 2014 Кэш почистила, попробовала поставить статью, но увы всё так же. Ниже скриншот. Суть проблемы такова, что мне нужно чтобы текст был "шире", по ширине странице сайта, а не в длину... на скриншоте видно, аж целое свободное поле справа. Вообщем я сделала возврат резервной копии, старые новости вернулись, но ссылки на статьи теперь состоят из ключивиков в перемешку с %. Кто знает как это исправить? И еще проблема, захожу в статью для исправления статья не сохраняется а просто пропадает а если хочу добавить новую то не добавляется, выкидывает с админки((( Надіслати Поділитися на інших сайтах More sharing options...
6ep Опубліковано: 10 листопада 2014 Share Опубліковано: 10 листопада 2014 тыкните меня, пожалуйста, носом, в упор не могу найти, как исправить сео списка новостей index.php?route=information/news на news и как изменить размер изображений бокса новостей на главной (thumb'ы увеличить эти) :oops: Надіслати Поділитися на інших сайтах More sharing options...
Taran78 Опубліковано: 19 листопада 2014 Share Опубліковано: 19 листопада 2014 Добрый день! Все встало, но в самом блоке весь контент уехал влево, подскажите где править? Модуль устраивает на 100 процентов, но вот это... Надіслати Поділитися на інших сайтах More sharing options...
mania78 Опубліковано: 25 листопада 2014 Share Опубліковано: 25 листопада 2014 Спасибо, все работает. Надіслати Поділитися на інших сайтах More sharing options...
diejseloc Опубліковано: 27 листопада 2014 Share Опубліковано: 27 листопада 2014 Если кому нужно (в приложении измененный seo_pro.php - OpenCart 1.5.5). Меняет урлы таким образом - http://site.loc/news/new_2, по старому http://site.loc/new_2 - страница будет не найдена. Больше пригодится для СЕО. seo_pro.php Надіслати Поділитися на інших сайтах More sharing options...
shden Опубліковано: 1 грудня 2014 Share Опубліковано: 1 грудня 2014 Если кому нужно (в приложении измененный seo_pro.php - OpenCart 1.5.5). Меняет урлы таким образом - http://site.loc/news/new_2, по старому http://site.loc/new_2 - страница будет не найдена. Больше пригодится для СЕО. а можно ли выложить переделанные файлы модуля чтобы ссылки генерировались на site.loc/news/new а не на site.loc/new Надіслати Поділитися на інших сайтах More sharing options...
HyperLabTeam Опубліковано: 2 грудня 2014 Share Опубліковано: 2 грудня 2014 купил блог марка и не парюсь - бесплатно конечно хорошо, но...не настаиваю. каждому своё... прост поделился;) Надіслати Поділитися на інших сайтах More sharing options...
alferus Опубліковано: 6 грудня 2014 Share Опубліковано: 6 грудня 2014 У всех правильно работает пагинация? почему то всегда отображает 11 новостей при ограничении в 10. При этом если перейти на 2 страницу пагинации, то там тот же список из 11 новостей. Изменил только $limit: $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'); $limit = 10; $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(); В чем может быть проблема? Надіслати Поділитися на інших сайтах More sharing options...
alferus Опубліковано: 7 грудня 2014 Share Опубліковано: 7 грудня 2014 У всех правильно работает пагинация? почему то всегда отображает 11 новостей при ограничении в 10. При этом если перейти на 2 страницу пагинации, то там тот же список из 11 новостей. В чем может быть проблема? оказалось, что были изменения в catalog/model/catalog/news.php - перезаписал стандартным и все заработало.. Надіслати Поділитися на інших сайтах More sharing options...
muha Опубліковано: 16 грудня 2014 Share Опубліковано: 16 грудня 2014 Доброго У всех работает url новости ? Выдает http://homeparfums.ru/news/?news_id=4, хотя при наведении ведет на http://homeparfums.ru/news/news_name, если вбить то редиректит на /?news_id=4 вспомогательные xml файлы добавил, в seo_pro строки с news_id и inrormation/news вставлял, по аналогии в seo_url добавил что не принесло изменений. Модуль SeoPro установлен, остальные страницы, товары открываются как надо, htaccess включен, непонятно в чем проблема. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 16 грудня 2014 Share Опубліковано: 16 грудня 2014 Доброго У всех работает url новости ? Выдает http://homeparfums.ru/news/?news_id=4, хотя при наведении ведет на http://homeparfums.ru/news/news_name, если вбить то редиректит на /?news_id=4 вспомогательные xml файлы добавил, в seo_pro строки с news_id и inrormation/news вставлял, по аналогии в seo_url добавил что не принесло изменений. Модуль SeoPro установлен, остальные страницы, товары открываются как надо, htaccess включен, непонятно в чем проблема. У вас не уникальный ЧПУ где то дубль для этой новости Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 У вас не уникальный ЧПУ где то дубль для этой новости Создал еще несколько уникальных новостей с уникальным названием и чпу url, всеравно вроде ссылается на http://homeparfums.ru/news/n_test/, но редиректит на http://homeparfums.ru/news/?news_id=8 .. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 Создал еше несколько уникальных новостей с уникальным названием и чпу url, всеравно вроде ссылается на http://homeparfums.ru/news/proverochnaya-novost/, но редиректит на http://homeparfums.ru/news/?news_id=8 .. Категория (ЧПУ) не уникальна :) Надіслати Поділитися на інших сайтах More sharing options... Helloween Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 У меня вот тоже проблема с этим ЧПУ на новостях. Категория уникальна. Новость - тоже. А все равно параметры передает вместо ЧПУ. Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 При таком раскладе новость отображается корректно при условии очистки кэша (system/cache/ cache.seo_pro.1418996159) после создания новости Иначе видит как index.php?route=information/news&news_id=53 Есть идеи ? class ControllerCommonSeoPro extends Controller {private $cache_data = null;public function __construct($registry) {parent::__construct($registry);$this->cache_data = $this->cache->get('seo_pro');if (!$this->cache_data) {$query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias");$this->cache_data = array();foreach ($query->rows as $row) {$this->cache_data['keywords'][$row['keyword']] = $row['query'];$this->cache_data['queries'][$row['query']] = $row['keyword'];}$this->cache->set('seo_pro', $this->cache_data);}}public function index() {// Add rewrite to url classif ($this->config->get('config_seo_url')) {$this->url->addRewrite($this);} else {return;}// Decode URLif (!isset($this->request->get['_route_'])) {$this->validate();} else {$route_ = $route = $this->request->get['_route_'];unset($this->request->get['_route_']);$parts = explode('/', trim(utf8_strtolower($route), '/'));list($last_part) = explode('.', array_pop($parts));array_push($parts, $last_part);$rows = array();foreach ($parts as $keyword) {if (isset($this->cache_data['keywords'][$keyword])) {$rows[] = array('keyword' => $keyword, 'query' => $this->cache_data['keywords'][$keyword]);}}if (count($rows) == sizeof($parts)) {$queries = array();foreach ($rows as $row) {$queries[utf8_strtolower($row['keyword'])] = $row['query'];}reset($parts);foreach ($parts as $part) {$url = explode('=', $queries[$part], 2);if ($url[0] == 'category_id') {if (!isset($this->request->get['path'])) {$this->request->get['path'] = $url[1];} else {$this->request->get['path'] .= '_' . $url[1];}} elseif (count($url) > 1) {$this->request->get[$url[0]] = $url[1];}}} else {$this->request->get['route'] = 'error/not_found';}if (isset($this->request->get['product_id'])) {$this->request->get['route'] = 'product/product';if (!isset($this->request->get['path'])) {$path = $this->getPathByProduct($this->request->get['product_id']);if ($path) $this->request->get['path'] = $path;}} elseif (isset($this->request->get['path'])) {$this->request->get['route'] = 'product/category';} elseif (isset($this->request->get['manufacturer_id'])) {$this->request->get['route'] = 'product/manufacturer/info';} elseif (isset($this->request->get['information_id'])) {$this->request->get['route'] = 'information/information';} elseif(isset($this->cache_data['queries'][$route_])) {header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently');$this->response->redirect($this->cache_data['queries'][$route_]);} else {if (isset($queries[$parts[0]])) {$this->request->get['route'] = $queries[$parts[0]];}}$this->validate();if (isset($this->request->get['route'])) {return $this->forward($this->request->get['route']);}}}public function rewrite($link) {if (!$this->config->get('config_seo_url')) return $link;$seo_url = '';$component = parse_url(str_replace('&', '&', $link));$data = array();parse_str($component['query'], $data);$route = $data['route'];unset($data['route']);switch ($route) {case 'product/product':if (isset($data['product_id'])) {$tmp = $data;$data = array();if ($this->config->get('config_seo_url_include_path')) {$data['path'] = $this->getPathByProduct($tmp['product_id']);if (!$data['path']) return $link;}$data['product_id'] = $tmp['product_id'];if (isset($tmp['tracking'])) {$data['tracking'] = $tmp['tracking'];}}break;case 'product/category':if (isset($data['path'])) {$category = explode('_', $data['path']);$category = end($category);$data['path'] = $this->getPathByCategory($category);if (!$data['path']) return $link;}break;case 'product/product/review':case 'information/information/info':return $link;break;default:break;}if ($component['scheme'] == 'https') {$link = $this->config->get('config_ssl');} else {$link = $this->config->get('config_url');}$link .= 'index.php?route=' . $route;if (count($data)) {$link .= '&' . urldecode(http_build_query($data, '', '&'));}$queries = array();$is_news = false;foreach ($data as $key => $value) {switch ($key) {case 'product_id':case 'manufacturer_id':case 'category_id':case 'information_id':$queries[] = $key . '=' . $value;unset($data[$key]);$postfix = 1;break;case 'news_id':$queries[] = $key . '=' . $value;unset($data[$key]);$postfix = 1;$is_news = true;break;case 'path':$categories = explode('_', $value);foreach ($categories as $category) {$queries[] = 'category_id=' . $category;}unset($data[$key]);break;default:break;}}if(empty($queries)) {$queries[] = $route;}$rows = array();foreach($queries as $query) {if(isset($this->cache_data['queries'][$query])) {$rows[] = array('query' => $query, 'keyword' => $this->cache_data['queries'][$query]);}}if(count($rows) == count($queries)) {$aliases = array();foreach($rows as $row) {$aliases[$row['query']] = $row['keyword'];}foreach($queries as $query) {if ($is_news) {$seo_url .= '/news/' . rawurlencode($aliases[$query]);} else {$seo_url .= '/' . rawurlencode($aliases[$query]);}}}if ($seo_url == '') return $link;$seo_url = trim($seo_url, '/');if ($component['scheme'] == 'https') {$seo_url = $this->config->get('config_ssl') . $seo_url;} else {$seo_url = $this->config->get('config_url') . $seo_url;}if (isset($postfix)) {$seo_url .= trim($this->config->get('config_seo_url_postfix'));} else {$seo_url .= '/';}if(substr($seo_url, -2) == '//') {$seo_url = substr($seo_url, 0, -1);}if (count($data)) {$seo_url .= '?' . urldecode(http_build_query($data, '', '&'));}return $seo_url;}private function getPathByProduct($product_id) {$product_id = (int)$product_id;if ($product_id < 1) return false;static $path = null;if (!is_array($path)) {$path = $this->cache->get('product.seopath');if (!is_array($path)) $path = array();}if (!isset($path[$product_id])) {$query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . $product_id . "' ORDER BY main_category DESC LIMIT 1");$path[$product_id] = $this->getPathByCategory($query->num_rows ? (int)$query->row['category_id'] : 0);$this->cache->set('product.seopath', $path);}return $path[$product_id];}private function getPathByCategory($category_id) {$category_id = (int)$category_id;if ($category_id < 1) return false;static $path = null;if (!is_array($path)) {$path = $this->cache->get('category.seopath');if (!is_array($path)) $path = array();}if (!isset($path[$category_id])) {$max_level = 10;$sql = "SELECT CONCAT_WS('_'";for ($i = $max_level-1; $i >= 0; --$i) {$sql .= ",t$i.category_id";}$sql .= ") AS path FROM " . DB_PREFIX . "category t0";for ($i = 1; $i < $max_level; ++$i) {$sql .= " LEFT JOIN " . DB_PREFIX . "category t$i ON (t$i.category_id = t" . ($i-1) . ".parent_id)";}$sql .= " WHERE t0.category_id = '" . $category_id . "'";$query = $this->db->query($sql);$path[$category_id] = $query->num_rows ? $query->row['path'] : false;$this->cache->set('category.seopath', $path);}return $path[$category_id];}private function validate() {if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {return;}if(empty($this->request->get['route'])) {$this->request->get['route'] = 'common/home';}if (isset($this->request->server['HTTP_X_REQUESTED_WITH']) && strtolower($this->request->server['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {return;}if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {$config_ssl = substr($this->config->get('config_ssl'), 0, $this->strpos_offset('/', $this->config->get('config_ssl'), 3) + 1);$url = str_replace('&', '&', $config_ssl . ltrim($this->request->server['REQUEST_URI'], '/'));$seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), 'SSL'));} else {$config_url = substr($this->config->get('config_url'), 0, $this->strpos_offset('/', $this->config->get('config_url'), 3) + 1);$url = str_replace('&', '&', $config_url . ltrim($this->request->server['REQUEST_URI'], '/'));$seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), 'NONSSL'));}if (rawurldecode($url) != rawurldecode($seo)) {header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently');$this->response->redirect($seo);}}private function strpos_offset($needle, $haystack, $occurrence) {// explode the haystack$arr = explode($needle, $haystack);// check the needle is not out of boundsswitch($occurrence) {case $occurrence == 0:return false;case $occurrence > max(array_keys($arr)):return false;default:return strlen(implode($needle, array_slice($arr, 0, $occurrence)));}}private function getQueryString($exclude = array()) {if (!is_array($exclude)) {$exclude = array();}return urldecode(http_build_query(array_diff_key($this->request->get, array_flip($exclude))));}}?> Надіслати Поділитися на інших сайтах More sharing options... Gylik Опубліковано: 21 грудня 2014 Share Опубліковано: 21 грудня 2014 Есть проблема, помогите решить. Делал все по инструкции. Изменил сео про и теперь генерирует сео и работает. Но! При нажатии на новость "читать далее" переходит на страницу с чпу all-news/valera-durak.html и пишет что она не найдена. ссылка all-news тож не находит. То и есть что ссылки поменялись на те что надо, но странички на самом деле остались под старым адресом. Где проблему искать. В базе может? Надіслати Поділитися на інших сайтах More sharing options... deposit Опубліковано: 23 грудня 2014 Share Опубліковано: 23 грудня 2014 Для тех, кто хотел добавить ссылку в футере (в подвале сайта), но не смог, думаю пригодится. 1) Для начала, заходим в: catalog/language/common/footer.php и добавляем: $_['text_news'] = 'Список новостей'; 2) Потом идем в: catalog/controller/common/footer.php в самом начале находим: <?php class ControllerCommonFooter extends Controller { protected function index() { $this->language->load('common/footer'); и после, ниже в списке, где-нибудь добавляем это: $this->data['text_news'] = $this->language->get('text_news'); 3) В зависимости от блока (где будет находиться ссылка на новости), у меня она в "Информации" Заходим в: catalog/view/theme/ВАША ТЕМА/template/common/footer.tpl Находим: <div id="footer"> <?php if ($informations) { ?> <div class="column"> <h3><?php echo $text_information; ?></h3> После добавляем: <ul> <li><a href="<?php echo $news; ?>"><?php echo $text_news; ?></a></li> На этом, вроде как всё. Если что-то упустил (в чем я очень сомневаюсь), допишу! ЗЫ: Автору, человеческое спасибо за модуль! Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 26 грудня 2014 Share Опубліковано: 26 грудня 2014 А вот пригодилась бы возможность делить новости на категории.. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 26 грудня 2014 Share Опубліковано: 26 грудня 2014 А вот пригодилась бы возможность делить новости на категории.. Так есть же. Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 27 грудня 2014 Share Опубліковано: 27 грудня 2014 Так есть же. Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. Надіслати Поділитися на інших сайтах More sharing options... Dart990 Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 oops .. sorry, а категорий то действительно нету. Как так? какая разница с information тогда? Надіслати Поділитися на інших сайтах More sharing options... OldAine Опубліковано: 1 січня 2015 Автор Share Опубліковано: 1 січня 2015 +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Нет. Надіслати Поділитися на інших сайтах More sharing options... Malinin Опубліковано: 8 січня 2015 Share Опубліковано: 8 січня 2015 можно ли установить этот модуть на Версия 1.5.6.4 ? Надіслати Поділитися на інших сайтах More sharing options... Назад 20 21 22 23 24 25 26 27 28 29 30 Вперед Сторінка 25 з 36 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 242 відповіді 46 594 перегляди Sha 2 квітня Універсальний масовий редактор товарів в OpenCart. Знайти та замінити. ChatGPT OpenAI. MULTIEDIT Автор: Sha, 15 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 коментарів 50 103 перегляди Sha 15 березня 2017 [Поддержка] Route board - Профилирование, помощник в оптимизации сайта! Автор: Sha, 25 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 577 переглядів Sha 18 січня 2022 Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 5 452 перегляди Sha 25 квітня 2020 oc-max "Нова пошта API" - модуль доставки для OpenCart Автор: Prorab337, 21 червня 2015 новая почта модуль доставки (і ще %d) Теги: новая почта модуль доставки модуль доставки новая почта доставка модуль печать накладных накладные новая почта api нова пошта нова пошта для опенкарт модуль доставки нова пошта 0 коментарів 245 545 переглядів Prorab337 21 червня 2015 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Блоги, новости, статьи [Поддержка] News 1.5.5 | Новости 1.5.5 (v.3.3.1) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Пошук замовлення за номером телефону Автор: kJlukOo Повторне відправлення листа замовлення Автор: PaulKravchenko RQ Reviews - Відгуки та питання з фото, відео, відео YouTube Автор: Speaker12 Автоматична SEO Перелінковка Pro beta - масове створення посилань, strong, заміна ключів Автор: radaevich Сортування за популярністю (обсягами продажів) і датою додавання Автор: TheHardUser × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
muha Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 У вас не уникальный ЧПУ где то дубль для этой новости Создал еще несколько уникальных новостей с уникальным названием и чпу url, всеравно вроде ссылается на http://homeparfums.ru/news/n_test/, но редиректит на http://homeparfums.ru/news/?news_id=8 .. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 Создал еше несколько уникальных новостей с уникальным названием и чпу url, всеравно вроде ссылается на http://homeparfums.ru/news/proverochnaya-novost/, но редиректит на http://homeparfums.ru/news/?news_id=8 .. Категория (ЧПУ) не уникальна :) Надіслати Поділитися на інших сайтах More sharing options... Helloween Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 У меня вот тоже проблема с этим ЧПУ на новостях. Категория уникальна. Новость - тоже. А все равно параметры передает вместо ЧПУ. Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 При таком раскладе новость отображается корректно при условии очистки кэша (system/cache/ cache.seo_pro.1418996159) после создания новости Иначе видит как index.php?route=information/news&news_id=53 Есть идеи ? class ControllerCommonSeoPro extends Controller {private $cache_data = null;public function __construct($registry) {parent::__construct($registry);$this->cache_data = $this->cache->get('seo_pro');if (!$this->cache_data) {$query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias");$this->cache_data = array();foreach ($query->rows as $row) {$this->cache_data['keywords'][$row['keyword']] = $row['query'];$this->cache_data['queries'][$row['query']] = $row['keyword'];}$this->cache->set('seo_pro', $this->cache_data);}}public function index() {// Add rewrite to url classif ($this->config->get('config_seo_url')) {$this->url->addRewrite($this);} else {return;}// Decode URLif (!isset($this->request->get['_route_'])) {$this->validate();} else {$route_ = $route = $this->request->get['_route_'];unset($this->request->get['_route_']);$parts = explode('/', trim(utf8_strtolower($route), '/'));list($last_part) = explode('.', array_pop($parts));array_push($parts, $last_part);$rows = array();foreach ($parts as $keyword) {if (isset($this->cache_data['keywords'][$keyword])) {$rows[] = array('keyword' => $keyword, 'query' => $this->cache_data['keywords'][$keyword]);}}if (count($rows) == sizeof($parts)) {$queries = array();foreach ($rows as $row) {$queries[utf8_strtolower($row['keyword'])] = $row['query'];}reset($parts);foreach ($parts as $part) {$url = explode('=', $queries[$part], 2);if ($url[0] == 'category_id') {if (!isset($this->request->get['path'])) {$this->request->get['path'] = $url[1];} else {$this->request->get['path'] .= '_' . $url[1];}} elseif (count($url) > 1) {$this->request->get[$url[0]] = $url[1];}}} else {$this->request->get['route'] = 'error/not_found';}if (isset($this->request->get['product_id'])) {$this->request->get['route'] = 'product/product';if (!isset($this->request->get['path'])) {$path = $this->getPathByProduct($this->request->get['product_id']);if ($path) $this->request->get['path'] = $path;}} elseif (isset($this->request->get['path'])) {$this->request->get['route'] = 'product/category';} elseif (isset($this->request->get['manufacturer_id'])) {$this->request->get['route'] = 'product/manufacturer/info';} elseif (isset($this->request->get['information_id'])) {$this->request->get['route'] = 'information/information';} elseif(isset($this->cache_data['queries'][$route_])) {header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently');$this->response->redirect($this->cache_data['queries'][$route_]);} else {if (isset($queries[$parts[0]])) {$this->request->get['route'] = $queries[$parts[0]];}}$this->validate();if (isset($this->request->get['route'])) {return $this->forward($this->request->get['route']);}}}public function rewrite($link) {if (!$this->config->get('config_seo_url')) return $link;$seo_url = '';$component = parse_url(str_replace('&', '&', $link));$data = array();parse_str($component['query'], $data);$route = $data['route'];unset($data['route']);switch ($route) {case 'product/product':if (isset($data['product_id'])) {$tmp = $data;$data = array();if ($this->config->get('config_seo_url_include_path')) {$data['path'] = $this->getPathByProduct($tmp['product_id']);if (!$data['path']) return $link;}$data['product_id'] = $tmp['product_id'];if (isset($tmp['tracking'])) {$data['tracking'] = $tmp['tracking'];}}break;case 'product/category':if (isset($data['path'])) {$category = explode('_', $data['path']);$category = end($category);$data['path'] = $this->getPathByCategory($category);if (!$data['path']) return $link;}break;case 'product/product/review':case 'information/information/info':return $link;break;default:break;}if ($component['scheme'] == 'https') {$link = $this->config->get('config_ssl');} else {$link = $this->config->get('config_url');}$link .= 'index.php?route=' . $route;if (count($data)) {$link .= '&' . urldecode(http_build_query($data, '', '&'));}$queries = array();$is_news = false;foreach ($data as $key => $value) {switch ($key) {case 'product_id':case 'manufacturer_id':case 'category_id':case 'information_id':$queries[] = $key . '=' . $value;unset($data[$key]);$postfix = 1;break;case 'news_id':$queries[] = $key . '=' . $value;unset($data[$key]);$postfix = 1;$is_news = true;break;case 'path':$categories = explode('_', $value);foreach ($categories as $category) {$queries[] = 'category_id=' . $category;}unset($data[$key]);break;default:break;}}if(empty($queries)) {$queries[] = $route;}$rows = array();foreach($queries as $query) {if(isset($this->cache_data['queries'][$query])) {$rows[] = array('query' => $query, 'keyword' => $this->cache_data['queries'][$query]);}}if(count($rows) == count($queries)) {$aliases = array();foreach($rows as $row) {$aliases[$row['query']] = $row['keyword'];}foreach($queries as $query) {if ($is_news) {$seo_url .= '/news/' . rawurlencode($aliases[$query]);} else {$seo_url .= '/' . rawurlencode($aliases[$query]);}}}if ($seo_url == '') return $link;$seo_url = trim($seo_url, '/');if ($component['scheme'] == 'https') {$seo_url = $this->config->get('config_ssl') . $seo_url;} else {$seo_url = $this->config->get('config_url') . $seo_url;}if (isset($postfix)) {$seo_url .= trim($this->config->get('config_seo_url_postfix'));} else {$seo_url .= '/';}if(substr($seo_url, -2) == '//') {$seo_url = substr($seo_url, 0, -1);}if (count($data)) {$seo_url .= '?' . urldecode(http_build_query($data, '', '&'));}return $seo_url;}private function getPathByProduct($product_id) {$product_id = (int)$product_id;if ($product_id < 1) return false;static $path = null;if (!is_array($path)) {$path = $this->cache->get('product.seopath');if (!is_array($path)) $path = array();}if (!isset($path[$product_id])) {$query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . $product_id . "' ORDER BY main_category DESC LIMIT 1");$path[$product_id] = $this->getPathByCategory($query->num_rows ? (int)$query->row['category_id'] : 0);$this->cache->set('product.seopath', $path);}return $path[$product_id];}private function getPathByCategory($category_id) {$category_id = (int)$category_id;if ($category_id < 1) return false;static $path = null;if (!is_array($path)) {$path = $this->cache->get('category.seopath');if (!is_array($path)) $path = array();}if (!isset($path[$category_id])) {$max_level = 10;$sql = "SELECT CONCAT_WS('_'";for ($i = $max_level-1; $i >= 0; --$i) {$sql .= ",t$i.category_id";}$sql .= ") AS path FROM " . DB_PREFIX . "category t0";for ($i = 1; $i < $max_level; ++$i) {$sql .= " LEFT JOIN " . DB_PREFIX . "category t$i ON (t$i.category_id = t" . ($i-1) . ".parent_id)";}$sql .= " WHERE t0.category_id = '" . $category_id . "'";$query = $this->db->query($sql);$path[$category_id] = $query->num_rows ? $query->row['path'] : false;$this->cache->set('category.seopath', $path);}return $path[$category_id];}private function validate() {if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {return;}if(empty($this->request->get['route'])) {$this->request->get['route'] = 'common/home';}if (isset($this->request->server['HTTP_X_REQUESTED_WITH']) && strtolower($this->request->server['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {return;}if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {$config_ssl = substr($this->config->get('config_ssl'), 0, $this->strpos_offset('/', $this->config->get('config_ssl'), 3) + 1);$url = str_replace('&', '&', $config_ssl . ltrim($this->request->server['REQUEST_URI'], '/'));$seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), 'SSL'));} else {$config_url = substr($this->config->get('config_url'), 0, $this->strpos_offset('/', $this->config->get('config_url'), 3) + 1);$url = str_replace('&', '&', $config_url . ltrim($this->request->server['REQUEST_URI'], '/'));$seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), 'NONSSL'));}if (rawurldecode($url) != rawurldecode($seo)) {header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently');$this->response->redirect($seo);}}private function strpos_offset($needle, $haystack, $occurrence) {// explode the haystack$arr = explode($needle, $haystack);// check the needle is not out of boundsswitch($occurrence) {case $occurrence == 0:return false;case $occurrence > max(array_keys($arr)):return false;default:return strlen(implode($needle, array_slice($arr, 0, $occurrence)));}}private function getQueryString($exclude = array()) {if (!is_array($exclude)) {$exclude = array();}return urldecode(http_build_query(array_diff_key($this->request->get, array_flip($exclude))));}}?> Надіслати Поділитися на інших сайтах More sharing options... Gylik Опубліковано: 21 грудня 2014 Share Опубліковано: 21 грудня 2014 Есть проблема, помогите решить. Делал все по инструкции. Изменил сео про и теперь генерирует сео и работает. Но! При нажатии на новость "читать далее" переходит на страницу с чпу all-news/valera-durak.html и пишет что она не найдена. ссылка all-news тож не находит. То и есть что ссылки поменялись на те что надо, но странички на самом деле остались под старым адресом. Где проблему искать. В базе может? Надіслати Поділитися на інших сайтах More sharing options... deposit Опубліковано: 23 грудня 2014 Share Опубліковано: 23 грудня 2014 Для тех, кто хотел добавить ссылку в футере (в подвале сайта), но не смог, думаю пригодится. 1) Для начала, заходим в: catalog/language/common/footer.php и добавляем: $_['text_news'] = 'Список новостей'; 2) Потом идем в: catalog/controller/common/footer.php в самом начале находим: <?php class ControllerCommonFooter extends Controller { protected function index() { $this->language->load('common/footer'); и после, ниже в списке, где-нибудь добавляем это: $this->data['text_news'] = $this->language->get('text_news'); 3) В зависимости от блока (где будет находиться ссылка на новости), у меня она в "Информации" Заходим в: catalog/view/theme/ВАША ТЕМА/template/common/footer.tpl Находим: <div id="footer"> <?php if ($informations) { ?> <div class="column"> <h3><?php echo $text_information; ?></h3> После добавляем: <ul> <li><a href="<?php echo $news; ?>"><?php echo $text_news; ?></a></li> На этом, вроде как всё. Если что-то упустил (в чем я очень сомневаюсь), допишу! ЗЫ: Автору, человеческое спасибо за модуль! Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 26 грудня 2014 Share Опубліковано: 26 грудня 2014 А вот пригодилась бы возможность делить новости на категории.. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 26 грудня 2014 Share Опубліковано: 26 грудня 2014 А вот пригодилась бы возможность делить новости на категории.. Так есть же. Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 27 грудня 2014 Share Опубліковано: 27 грудня 2014 Так есть же. Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. Надіслати Поділитися на інших сайтах More sharing options... Dart990 Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 oops .. sorry, а категорий то действительно нету. Как так? какая разница с information тогда? Надіслати Поділитися на інших сайтах More sharing options... OldAine Опубліковано: 1 січня 2015 Автор Share Опубліковано: 1 січня 2015 +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Нет. Надіслати Поділитися на інших сайтах More sharing options... Malinin Опубліковано: 8 січня 2015 Share Опубліковано: 8 січня 2015 можно ли установить этот модуть на Версия 1.5.6.4 ? Надіслати Поділитися на інших сайтах More sharing options... Назад 20 21 22 23 24 25 26 27 28 29 30 Вперед Сторінка 25 з 36 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 242 відповіді 46 594 перегляди Sha 2 квітня Універсальний масовий редактор товарів в OpenCart. Знайти та замінити. ChatGPT OpenAI. MULTIEDIT Автор: Sha, 15 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 коментарів 50 103 перегляди Sha 15 березня 2017 [Поддержка] Route board - Профилирование, помощник в оптимизации сайта! Автор: Sha, 25 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 577 переглядів Sha 18 січня 2022 Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 5 452 перегляди Sha 25 квітня 2020 oc-max "Нова пошта API" - модуль доставки для OpenCart Автор: Prorab337, 21 червня 2015 новая почта модуль доставки (і ще %d) Теги: новая почта модуль доставки модуль доставки новая почта доставка модуль печать накладных накладные новая почта api нова пошта нова пошта для опенкарт модуль доставки нова пошта 0 коментарів 245 545 переглядів Prorab337 21 червня 2015 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Блоги, новости, статьи [Поддержка] News 1.5.5 | Новости 1.5.5 (v.3.3.1) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Пошук замовлення за номером телефону Автор: kJlukOo Повторне відправлення листа замовлення Автор: PaulKravchenko RQ Reviews - Відгуки та питання з фото, відео, відео YouTube Автор: Speaker12 Автоматична SEO Перелінковка Pro beta - масове створення посилань, strong, заміна ключів Автор: radaevich Сортування за популярністю (обсягами продажів) і датою додавання Автор: TheHardUser
Helloween Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 У меня вот тоже проблема с этим ЧПУ на новостях. Категория уникальна. Новость - тоже. А все равно параметры передает вместо ЧПУ. Надіслати Поділитися на інших сайтах More sharing options...
muha Опубліковано: 17 грудня 2014 Share Опубліковано: 17 грудня 2014 При таком раскладе новость отображается корректно при условии очистки кэша (system/cache/ cache.seo_pro.1418996159) после создания новости Иначе видит как index.php?route=information/news&news_id=53 Есть идеи ? class ControllerCommonSeoPro extends Controller {private $cache_data = null;public function __construct($registry) {parent::__construct($registry);$this->cache_data = $this->cache->get('seo_pro');if (!$this->cache_data) {$query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias");$this->cache_data = array();foreach ($query->rows as $row) {$this->cache_data['keywords'][$row['keyword']] = $row['query'];$this->cache_data['queries'][$row['query']] = $row['keyword'];}$this->cache->set('seo_pro', $this->cache_data);}}public function index() {// Add rewrite to url classif ($this->config->get('config_seo_url')) {$this->url->addRewrite($this);} else {return;}// Decode URLif (!isset($this->request->get['_route_'])) {$this->validate();} else {$route_ = $route = $this->request->get['_route_'];unset($this->request->get['_route_']);$parts = explode('/', trim(utf8_strtolower($route), '/'));list($last_part) = explode('.', array_pop($parts));array_push($parts, $last_part);$rows = array();foreach ($parts as $keyword) {if (isset($this->cache_data['keywords'][$keyword])) {$rows[] = array('keyword' => $keyword, 'query' => $this->cache_data['keywords'][$keyword]);}}if (count($rows) == sizeof($parts)) {$queries = array();foreach ($rows as $row) {$queries[utf8_strtolower($row['keyword'])] = $row['query'];}reset($parts);foreach ($parts as $part) {$url = explode('=', $queries[$part], 2);if ($url[0] == 'category_id') {if (!isset($this->request->get['path'])) {$this->request->get['path'] = $url[1];} else {$this->request->get['path'] .= '_' . $url[1];}} elseif (count($url) > 1) {$this->request->get[$url[0]] = $url[1];}}} else {$this->request->get['route'] = 'error/not_found';}if (isset($this->request->get['product_id'])) {$this->request->get['route'] = 'product/product';if (!isset($this->request->get['path'])) {$path = $this->getPathByProduct($this->request->get['product_id']);if ($path) $this->request->get['path'] = $path;}} elseif (isset($this->request->get['path'])) {$this->request->get['route'] = 'product/category';} elseif (isset($this->request->get['manufacturer_id'])) {$this->request->get['route'] = 'product/manufacturer/info';} elseif (isset($this->request->get['information_id'])) {$this->request->get['route'] = 'information/information';} elseif(isset($this->cache_data['queries'][$route_])) {header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently');$this->response->redirect($this->cache_data['queries'][$route_]);} else {if (isset($queries[$parts[0]])) {$this->request->get['route'] = $queries[$parts[0]];}}$this->validate();if (isset($this->request->get['route'])) {return $this->forward($this->request->get['route']);}}}public function rewrite($link) {if (!$this->config->get('config_seo_url')) return $link;$seo_url = '';$component = parse_url(str_replace('&', '&', $link));$data = array();parse_str($component['query'], $data);$route = $data['route'];unset($data['route']);switch ($route) {case 'product/product':if (isset($data['product_id'])) {$tmp = $data;$data = array();if ($this->config->get('config_seo_url_include_path')) {$data['path'] = $this->getPathByProduct($tmp['product_id']);if (!$data['path']) return $link;}$data['product_id'] = $tmp['product_id'];if (isset($tmp['tracking'])) {$data['tracking'] = $tmp['tracking'];}}break;case 'product/category':if (isset($data['path'])) {$category = explode('_', $data['path']);$category = end($category);$data['path'] = $this->getPathByCategory($category);if (!$data['path']) return $link;}break;case 'product/product/review':case 'information/information/info':return $link;break;default:break;}if ($component['scheme'] == 'https') {$link = $this->config->get('config_ssl');} else {$link = $this->config->get('config_url');}$link .= 'index.php?route=' . $route;if (count($data)) {$link .= '&' . urldecode(http_build_query($data, '', '&'));}$queries = array();$is_news = false;foreach ($data as $key => $value) {switch ($key) {case 'product_id':case 'manufacturer_id':case 'category_id':case 'information_id':$queries[] = $key . '=' . $value;unset($data[$key]);$postfix = 1;break;case 'news_id':$queries[] = $key . '=' . $value;unset($data[$key]);$postfix = 1;$is_news = true;break;case 'path':$categories = explode('_', $value);foreach ($categories as $category) {$queries[] = 'category_id=' . $category;}unset($data[$key]);break;default:break;}}if(empty($queries)) {$queries[] = $route;}$rows = array();foreach($queries as $query) {if(isset($this->cache_data['queries'][$query])) {$rows[] = array('query' => $query, 'keyword' => $this->cache_data['queries'][$query]);}}if(count($rows) == count($queries)) {$aliases = array();foreach($rows as $row) {$aliases[$row['query']] = $row['keyword'];}foreach($queries as $query) {if ($is_news) {$seo_url .= '/news/' . rawurlencode($aliases[$query]);} else {$seo_url .= '/' . rawurlencode($aliases[$query]);}}}if ($seo_url == '') return $link;$seo_url = trim($seo_url, '/');if ($component['scheme'] == 'https') {$seo_url = $this->config->get('config_ssl') . $seo_url;} else {$seo_url = $this->config->get('config_url') . $seo_url;}if (isset($postfix)) {$seo_url .= trim($this->config->get('config_seo_url_postfix'));} else {$seo_url .= '/';}if(substr($seo_url, -2) == '//') {$seo_url = substr($seo_url, 0, -1);}if (count($data)) {$seo_url .= '?' . urldecode(http_build_query($data, '', '&'));}return $seo_url;}private function getPathByProduct($product_id) {$product_id = (int)$product_id;if ($product_id < 1) return false;static $path = null;if (!is_array($path)) {$path = $this->cache->get('product.seopath');if (!is_array($path)) $path = array();}if (!isset($path[$product_id])) {$query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . $product_id . "' ORDER BY main_category DESC LIMIT 1");$path[$product_id] = $this->getPathByCategory($query->num_rows ? (int)$query->row['category_id'] : 0);$this->cache->set('product.seopath', $path);}return $path[$product_id];}private function getPathByCategory($category_id) {$category_id = (int)$category_id;if ($category_id < 1) return false;static $path = null;if (!is_array($path)) {$path = $this->cache->get('category.seopath');if (!is_array($path)) $path = array();}if (!isset($path[$category_id])) {$max_level = 10;$sql = "SELECT CONCAT_WS('_'";for ($i = $max_level-1; $i >= 0; --$i) {$sql .= ",t$i.category_id";}$sql .= ") AS path FROM " . DB_PREFIX . "category t0";for ($i = 1; $i < $max_level; ++$i) {$sql .= " LEFT JOIN " . DB_PREFIX . "category t$i ON (t$i.category_id = t" . ($i-1) . ".parent_id)";}$sql .= " WHERE t0.category_id = '" . $category_id . "'";$query = $this->db->query($sql);$path[$category_id] = $query->num_rows ? $query->row['path'] : false;$this->cache->set('category.seopath', $path);}return $path[$category_id];}private function validate() {if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {return;}if(empty($this->request->get['route'])) {$this->request->get['route'] = 'common/home';}if (isset($this->request->server['HTTP_X_REQUESTED_WITH']) && strtolower($this->request->server['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {return;}if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {$config_ssl = substr($this->config->get('config_ssl'), 0, $this->strpos_offset('/', $this->config->get('config_ssl'), 3) + 1);$url = str_replace('&', '&', $config_ssl . ltrim($this->request->server['REQUEST_URI'], '/'));$seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), 'SSL'));} else {$config_url = substr($this->config->get('config_url'), 0, $this->strpos_offset('/', $this->config->get('config_url'), 3) + 1);$url = str_replace('&', '&', $config_url . ltrim($this->request->server['REQUEST_URI'], '/'));$seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), 'NONSSL'));}if (rawurldecode($url) != rawurldecode($seo)) {header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently');$this->response->redirect($seo);}}private function strpos_offset($needle, $haystack, $occurrence) {// explode the haystack$arr = explode($needle, $haystack);// check the needle is not out of boundsswitch($occurrence) {case $occurrence == 0:return false;case $occurrence > max(array_keys($arr)):return false;default:return strlen(implode($needle, array_slice($arr, 0, $occurrence)));}}private function getQueryString($exclude = array()) {if (!is_array($exclude)) {$exclude = array();}return urldecode(http_build_query(array_diff_key($this->request->get, array_flip($exclude))));}}?> Надіслати Поділитися на інших сайтах More sharing options...
Gylik Опубліковано: 21 грудня 2014 Share Опубліковано: 21 грудня 2014 Есть проблема, помогите решить. Делал все по инструкции. Изменил сео про и теперь генерирует сео и работает. Но! При нажатии на новость "читать далее" переходит на страницу с чпу all-news/valera-durak.html и пишет что она не найдена. ссылка all-news тож не находит. То и есть что ссылки поменялись на те что надо, но странички на самом деле остались под старым адресом. Где проблему искать. В базе может? Надіслати Поділитися на інших сайтах More sharing options...
deposit Опубліковано: 23 грудня 2014 Share Опубліковано: 23 грудня 2014 Для тех, кто хотел добавить ссылку в футере (в подвале сайта), но не смог, думаю пригодится. 1) Для начала, заходим в: catalog/language/common/footer.php и добавляем: $_['text_news'] = 'Список новостей'; 2) Потом идем в: catalog/controller/common/footer.php в самом начале находим: <?php class ControllerCommonFooter extends Controller { protected function index() { $this->language->load('common/footer'); и после, ниже в списке, где-нибудь добавляем это: $this->data['text_news'] = $this->language->get('text_news'); 3) В зависимости от блока (где будет находиться ссылка на новости), у меня она в "Информации" Заходим в: catalog/view/theme/ВАША ТЕМА/template/common/footer.tpl Находим: <div id="footer"> <?php if ($informations) { ?> <div class="column"> <h3><?php echo $text_information; ?></h3> После добавляем: <ul> <li><a href="<?php echo $news; ?>"><?php echo $text_news; ?></a></li> На этом, вроде как всё. Если что-то упустил (в чем я очень сомневаюсь), допишу! ЗЫ: Автору, человеческое спасибо за модуль! Надіслати Поділитися на інших сайтах More sharing options...
muha Опубліковано: 26 грудня 2014 Share Опубліковано: 26 грудня 2014 А вот пригодилась бы возможность делить новости на категории.. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 26 грудня 2014 Share Опубліковано: 26 грудня 2014 А вот пригодилась бы возможность делить новости на категории.. Так есть же. Надіслати Поділитися на інших сайтах More sharing options... muha Опубліковано: 27 грудня 2014 Share Опубліковано: 27 грудня 2014 Так есть же. Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. Надіслати Поділитися на інших сайтах More sharing options... Dart990 Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 oops .. sorry, а категорий то действительно нету. Как так? какая разница с information тогда? Надіслати Поділитися на інших сайтах More sharing options... OldAine Опубліковано: 1 січня 2015 Автор Share Опубліковано: 1 січня 2015 +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Нет. Надіслати Поділитися на інших сайтах More sharing options... Malinin Опубліковано: 8 січня 2015 Share Опубліковано: 8 січня 2015 можно ли установить этот модуть на Версия 1.5.6.4 ? Надіслати Поділитися на інших сайтах More sharing options... Назад 20 21 22 23 24 25 26 27 28 29 30 Вперед Сторінка 25 з 36 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 242 відповіді 46 594 перегляди Sha 2 квітня Універсальний масовий редактор товарів в OpenCart. Знайти та замінити. ChatGPT OpenAI. MULTIEDIT Автор: Sha, 15 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 коментарів 50 103 перегляди Sha 15 березня 2017 [Поддержка] Route board - Профилирование, помощник в оптимизации сайта! Автор: Sha, 25 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 577 переглядів Sha 18 січня 2022 Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 5 452 перегляди Sha 25 квітня 2020 oc-max "Нова пошта API" - модуль доставки для OpenCart Автор: Prorab337, 21 червня 2015 новая почта модуль доставки (і ще %d) Теги: новая почта модуль доставки модуль доставки новая почта доставка модуль печать накладных накладные новая почта api нова пошта нова пошта для опенкарт модуль доставки нова пошта 0 коментарів 245 545 переглядів Prorab337 21 червня 2015 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Блоги, новости, статьи [Поддержка] News 1.5.5 | Новости 1.5.5 (v.3.3.1)
muha Опубліковано: 27 грудня 2014 Share Опубліковано: 27 грудня 2014 Так есть же. Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. Надіслати Поділитися на інших сайтах More sharing options...
Dart990 Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 Что то не пойму, где же назначаются категории для новостей ? К примеру мне нужно на 1 странице выводить 1 список новостей, на 2 странице другой список новостей.. +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 30 грудня 2014 Share Опубліковано: 30 грудня 2014 oops .. sorry, а категорий то действительно нету. Как так? какая разница с information тогда? Надіслати Поділитися на інших сайтах More sharing options... OldAine Опубліковано: 1 січня 2015 Автор Share Опубліковано: 1 січня 2015 +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Нет. Надіслати Поділитися на інших сайтах More sharing options... Malinin Опубліковано: 8 січня 2015 Share Опубліковано: 8 січня 2015 можно ли установить этот модуть на Версия 1.5.6.4 ? Надіслати Поділитися на інших сайтах More sharing options... Назад 20 21 22 23 24 25 26 27 28 29 30 Вперед Сторінка 25 з 36 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Универсальный массовый редактор товаров OpenCart! Найти и заменить! ChatGPT OpenAI. MULTIEDIT. 1 2 3 4 10 Автор: Sha, 16 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 242 відповіді 46 594 перегляди Sha 2 квітня Універсальний масовий редактор товарів в OpenCart. Знайти та замінити. ChatGPT OpenAI. MULTIEDIT Автор: Sha, 15 березня 2017 batch chat gpt (і ще %d) Теги: batch chat gpt pro атрибуты опции массовое редактирование editor products скидки мета мета-теги пакетное редактирование товаров админка групповое массовое массовая продукты быстрое изменение добавление добавить цена цены опций акции управление статус обработка категорий премиум групповая скидка товар стоимость валюта прайс price акция категория корзина продажа продажи баллы отзывы статьи галерея заказ быстрый обновление цены ocmod atribute модели автодополнение снипеты скорость модуль блоки форма product наполнение интернетмагазина обновление товар опции в категории универсальный рекомендуем opencart фильтр filter регистрация опция изменить товары категории производители українською українська chatgpt chatbots multi multiedit search replace replacer find search and replace find and replace edit seo faq seo faq filter products filter opencart filter for brands filter for products filter pro filteroc ocfilter oc filter open openai opencart ai ai opencart 0 коментарів 50 103 перегляди Sha 15 березня 2017 [Поддержка] Route board - Профилирование, помощник в оптимизации сайта! Автор: Sha, 25 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 577 переглядів Sha 18 січня 2022 Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 почалося! profiler (і ще %d) Теги: почалося! profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 5 452 перегляди Sha 25 квітня 2020 oc-max "Нова пошта API" - модуль доставки для OpenCart Автор: Prorab337, 21 червня 2015 новая почта модуль доставки (і ще %d) Теги: новая почта модуль доставки модуль доставки новая почта доставка модуль печать накладных накладные новая почта api нова пошта нова пошта для опенкарт модуль доставки нова пошта 0 коментарів 245 545 переглядів Prorab337 21 червня 2015 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
OldAine Опубліковано: 1 січня 2015 Автор Share Опубліковано: 1 січня 2015 +1, тоже не вижу возможности добавлять категории. Такой функции нет ? Нет. Надіслати Поділитися на інших сайтах More sharing options... Malinin Опубліковано: 8 січня 2015 Share Опубліковано: 8 січня 2015 можно ли установить этот модуть на Версия 1.5.6.4 ? Надіслати Поділитися на інших сайтах More sharing options... Назад 20 21 22 23 24 25 26 27 28 29 30 Вперед Сторінка 25 з 36 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Malinin Опубліковано: 8 січня 2015 Share Опубліковано: 8 січня 2015 можно ли установить этот модуть на Версия 1.5.6.4 ? Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts