-
Posts
404 -
Joined
-
Last visited
Content Type
Profiles
Forums
Marketplace
Articles
FAQ
Our New
Store
Blogs
module__dplus_manager
Everything posted by jjoni
-
Стоит галочка ЧПУ для товаров и категорий... Вроде ничего не правил...
-
Вообще какой алгоритм переезда? Заказать сертификат, установить его, сообщить поисковикам, дождаться склейки доменов, установить ваше расширение и переводить ссылки на https?
-
Всем привет! ocStore 2.1.0.1 В штатном SeoPro выставил ЧПУ и короче теперь все ссылки выглядят так, не зависимо от уровня вложенности site.ru/tovar или site.ru/kategoriya. Если товар находится в глубокой категории, то его хлебные крошки выглядят так Главная-Категория-Подкатегория-Товар1, при этом URL у товара такой site.ru/tovar1 Но вот с подкатегориями ситуация иная. Если по факту в подкатегории, хлебные крошки, должны выглядеть так Главная-Категория-Подкатегория, то у меня они выглядят так Главная-Подкатегория. При этом URL подкатегории site.ru/podkategoriya. Подскажите, как сделать так, что бы у подкатегории URL остался коротким, но хлебные крошки отображались полностью Главная-Категория-Подкатегория?
-
Вот ответ тех поддержки хостинга: Вам нужно отредактировать system/storage/modification/admin/model/catalog/product.php в каталоге сайта site/public_html , и закомментировать строки 711-715, приведя их к такому виду: /* public function getProductMainCategoryId($product_id) { $query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND main_category = '1' LIMIT 1"); return ($query->num_rows ? (int)$query->row['category_id'] : 0); }*/
-
Короче нашел в базе sql https://monosnap.com/file/S9LETdqmdoodBL1VWtl0BMDblmFpkR <?xml version="1.0" encoding="utf-8"?> <modification> <code>seopro-20150125</code> <name>SeoPro for Opencart v2.x</name> <version>1.0.2016-01-15</version> <author>OpencartJazz.com</author> <link>http://www.opencartjazz.com/opencart-module/seo/ocj-seopro-oc2</link> <file path="admin/controller/catalog/product.php"> <operation> <search trim="true" index="0"><![CDATA[ $data['entry_recurring'] = $this->language->get('entry_recurring'); ]]></search> <add position="after" trim="false" offset="0"><![CDATA[ $data['entry_main_category'] = $this->language->get('entry_main_category'); ]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[ $this->load->model('catalog/category'); ]]></search> <add position="after" trim="false" offset="0"><![CDATA[ $categories = $this->model_catalog_category->getAllCategories(); $data['categories'] = $this->getAllCategories($categories); if (isset($this->request->post['main_category_id'])) { $data['main_category_id'] = $this->request->post['main_category_id']; } elseif (isset($product_info)) { $data['main_category_id'] = $this->model_catalog_product->getProductMainCategoryId($this->request->get['product_id']); } else { $data['main_category_id'] = 0; } ]]></add> </operation> <operation> <search regex="true" limit="1" quote="true"><![CDATA[~ $this->response->setOutput(json_encode($json)); } ~]]></search> <add><![CDATA[ $this->response->setOutput(json_encode($json)); } private function getAllCategories($categories, $parent_id = 0, $parent_name = '') { $output = array(); if (array_key_exists($parent_id, $categories)) { if ($parent_name != '') { $parent_name .= $this->language->get('text_separator'); } foreach ($categories[$parent_id] as $category) { $output[$category['category_id']] = array( 'category_id' => $category['category_id'], 'name' => $parent_name . $category['name'] ); $output += $this->getAllCategories($categories, $category['category_id'], $parent_name . $category['name']); } } return $output; } ]]></add> </operation> </file> <file path="admin/controller/setting/setting.php"> <operation> <search trim="true" index="0"><![CDATA[$data['entry_seo_url'] = $this->language->get('entry_seo_url');]]></search> <add position="after" trim="false" offset="0"><![CDATA[ $data['entry_seo_url_type'] = $this->language->get('entry_seo_url_type'); $data['entry_seo_url_include_path'] = $this->language->get('entry_seo_url_include_path'); $data['entry_seo_url_postfix'] = $this->language->get('entry_seo_url_postfix'); ]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$data['help_seo_url'] = $this->language->get('help_seo_url');]]></search> <add position="after" trim="false" offset="0"><![CDATA[ $data['help_seo_url_include_path'] = $this->language->get('help_seo_url_include_path'); $data['help_seo_url_postfix'] = $this->language->get('help_seo_url_postfix'); ]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$data['config_seo_url'] = $this->config->get('config_seo_url');]]></search> <add position="after" trim="false" offset="0"><![CDATA[ } if (isset($this->request->post['config_seo_url_type'])) { $data['config_seo_url_type'] = $this->request->post['config_seo_url_type']; } elseif ($this->config->get('config_seo_url_type')) { $data['config_seo_url_type'] = $this->config->get('config_seo_url_type'); } else { $data['config_seo_url_type'] = 'seo_url'; } $data['seo_types'] = array(); $data['seo_types'][] = array('type' => 'seo_url', 'name' => $this->language->get('text_seo_url')); $data['seo_types'][] = array('type' => 'seo_pro', 'name' => $this->language->get('text_seo_pro')); if (isset($this->request->post['config_seo_url_include_path'])) { $data['config_seo_url_include_path'] = $this->request->post['config_seo_url_include_path']; } else { $data['config_seo_url_include_path'] = $this->config->get('config_seo_url_include_path'); } if (isset($this->request->post['config_seo_url_postfix'])) { $data['config_seo_url_postfix'] = $this->request->post['config_seo_url_postfix']; } else { $data['config_seo_url_postfix'] = $this->config->get('config_seo_url_postfix'); ]]></add> </operation> </file> <file path="admin/language/english/catalog/product.php"> <operation> <search trim="true" index="0"><![CDATA[$_['entry_recurring'] = 'Recurring Profile';]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['entry_main_category'] = 'Main Category:';]]></add> </operation> </file> <file path="admin/language/russian/catalog/product.php"> <operation> <search trim="true" index="0"><![CDATA[$_['entry_recurring']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['entry_main_category'] = 'Главная категория:';]]></add> </operation> </file> <file path="admin/language/ukrainian/catalog/product.php"> <operation> <search trim="true" index="0"><![CDATA[$_['entry_recurring']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['entry_main_category'] = 'Головна категорія:';]]></add> </operation> </file> <file path="admin/language/uk_UA/catalog/product.php"> <operation> <search trim="true" index="0"><![CDATA[$_['entry_recurring']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['entry_main_category'] = 'Головна категорія:';]]></add> </operation> </file> <file path="admin/language/english/setting/setting.php"> <operation> <search trim="true" index="0"><![CDATA[$_['text_smtp'] = 'SMTP';]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['text_seo_url'] = 'Default'; $_['text_seo_pro'] = 'SeoPro';]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$_['entry_seo_url'] = 'Use SEO URLs';]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['entry_seo_url_type'] = 'SEO URL type'; $_['entry_seo_url_include_path'] = 'SEO URL for product with categories'; $_['entry_seo_url_postfix'] = 'SEO URL ending';]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$_['help_seo_url']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['help_seo_url_include_path'] = 'SEO URL format: <b>/category/subcategory/product</b> (only for SeoPro)'; $_['help_seo_url_postfix'] = 'SEO URL extension, such as <b>.html</b> (only for SeoPro)';]]></add> </operation> </file> <file path="admin/language/russian/setting/setting.php"> <operation> <search trim="true" index="0"><![CDATA[$_['text_smtp']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['text_seo_url'] = 'Стандартный Seo_Url'; $_['text_seo_pro'] = 'SeoPro';]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$_['entry_seo_url']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['entry_seo_url_type'] = 'Тип SEO URL'; $_['entry_seo_url_include_path'] = 'SEO URL для товаров включают категории'; $_['entry_seo_url_postfix'] = 'Окончание SEO URL';]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$_['help_seo_url']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['help_seo_url_include_path'] = 'Формат SEO URL: <b>/category/subcategory/product</b> (только для SeoPro)'; $_['help_seo_url_postfix'] = 'Окончание SEO URL, например <b>.html</b> (только для SeoPro)';]]></add> </operation> </file> <file path="admin/language/ukrainian/setting/setting.php"> <operation> <search trim="true" index="0"><![CDATA[$_['text_smtp']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['text_seo_url'] = 'Звичайний Seo_Url з Опенкарт'; $_['text_seo_pro'] = 'SeoPro';]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$_['entry_seo_url']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['entry_seo_url_type'] = 'Тип SEO URL'; $_['entry_seo_url_include_path'] = 'SEO URL для товарів містить категорії'; $_['entry_seo_url_postfix'] = 'Фінальна частина SEO URL';]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$_['help_seo_url']]]></search> <add position="after" trim="false" offset="0"><![CDATA[$_['help_seo_url_include_path'] = 'Формат SEO URL: <b>/category/subcategory/product</b> (тільки для SeoPro)'; $_['help_seo_url_postfix'] = 'Фінальна частина SEO URL, наприклад <b>.html</b> (тільки для SeoPro)';]]></add> </operation> </file> <file path="admin/model/catalog/category.php"> <operation> <search trim="true" index="0"><![CDATA[public function getTotalCategoriesByLayoutId($layout_id)]]></search> <add position="after" trim="false" offset="4"><![CDATA[ public function getCategoriesByParentId($parent_id = 0) { $query = $this->db->query("SELECT *, (SELECT COUNT(parent_id) FROM " . DB_PREFIX . "category WHERE parent_id = c.category_id) AS children FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY c.sort_order, cd.name"); return $query->rows; } public function getAllCategories() { $category_data = $this->cache->get('category.all.' . $this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id')); if (!$category_data || !is_array($category_data)) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.parent_id, c.sort_order, cd.name"); $category_data = array(); foreach ($query->rows as $row) { $category_data[$row['parent_id']][$row['category_id']] = $row; } $this->cache->set('category.all.' . $this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'), $category_data); } return $category_data; }]]></add> </operation> </file> <file path="admin/model/catalog/product.php"> <operation> <search trim="true" index="0"><![CDATA[if (isset($data['product_category'])]]></search> <add position="after" trim="false" offset="4"><![CDATA[ if (isset($data['main_category_id']) && $data['main_category_id'] > 0) { $this->db->query("DELETE FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['main_category_id'] . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$data['main_category_id'] . "', main_category = 1"); } elseif (isset($data['product_category'][0])) { $this->db->query("UPDATE " . DB_PREFIX . "product_to_category SET main_category = 1 WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['product_category'][0] . "'"); }]]></add> </operation> <operation> <search trim="true" index="1"><![CDATA[if (isset($data['product_category']))]]></search> <add position="after" trim="false" offset="4"><![CDATA[ if (isset($data['main_category_id']) && $data['main_category_id'] > 0) { $this->db->query("DELETE FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['main_category_id'] . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$data['main_category_id'] . "', main_category = 1"); } elseif (isset($data['product_category'])) { $this->db->query("UPDATE " . DB_PREFIX . "product_to_category SET main_category = 1 WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['product_category'][0] . "'"); }]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[return $product_layout_data;]]></search> <add position="after" trim="false" offset="1"><![CDATA[ public function getProductMainCategoryId($product_id) { $query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND main_category = '1' LIMIT 1"); return ($query->num_rows ? (int)$query->row['category_id'] : 0); }]]></add> </operation> </file> <file path="admin/model/openbay/openbay.php"> <operation> <search trim="true" index="0"><![CDATA[curl_setopt($curl, CURLOPT_RETURNTRANSFER, true)]]></search> <add position="after" trim="false" offset="0"><![CDATA[ // curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // curl_setopt($curl, CURLOPT_POSTREDIR, 7);]]></add> </operation> </file> <file path="admin/view/template/catalog/product_form.tpl"> <operation> <search trim="true" index="0"><![CDATA[<input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id; ?>" />]]></search> <add position="after" trim="false" offset="2"><![CDATA[ <div class="form-group"> <label class="col-sm-2 control-label" for="input-main-category-id"><?php echo $entry_main_category; ?></label> <div class="col-sm-10"> <select name="main_category_id" id="input-main-category-id" class="form-control"> <?php foreach ($product_categories as $category) { ?> <?php if ($category['category_id'] == $main_category_id) { ?> <option value="<?php echo $category['category_id']; ?>" selected="selected"><?php echo $category['name']; ?></option> <?php } else { ?> <option value="<?php echo $category['category_id']; ?>"><?php echo $category['name']; ?></option> <?php } ?> <?php } ?> </select> </div> </div>]]></add> </operation> </file> <file path="admin/view/template/setting/setting.tpl"> <operation> <search trim="true" index="0"><![CDATA[<input type="radio" name="config_seo_url" value="0" />]]></search> <add position="after" trim="false" offset="5"><![CDATA[ <div class="form-group"> <label class="col-sm-2 control-label" for="input-seo-url-type"><?php echo $entry_seo_url_type; ?></label> <div class="col-sm-10"> <select name="config_seo_url_type" id="input-seo-url-type" class="form-control"> <?php foreach ($seo_types as $seo_type) { ?> <?php if ($seo_type['type'] == $config_seo_url_type) { ?> <option value="<?php echo $seo_type['type']; ?>" selected="selected"><?php echo $seo_type['name']; ?></option> <?php } else { ?> <option value="<?php echo $seo_type['type']; ?>"><?php echo $seo_type['name']; ?></option> <?php } ?> <?php } ?> </select> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label"><span data-toggle="tooltip" title="<?php echo $help_seo_url_include_path; ?>"><?php echo $entry_seo_url_include_path; ?></span></label> <div class="col-sm-10"> <label class="radio-inline"> <input type="radio" name="config_seo_url_include_path" value="1" <?php echo $config_seo_url_include_path ? 'checked="checked"' : ''; ?>/> <?php echo $text_yes; ?> </label> <label class="radio-inline"> <input type="radio" name="config_seo_url_include_path" value="0" <?php echo !$config_seo_url_include_path ? 'checked="checked"' : ''; ?>/> <?php echo $text_no; ?> </label> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-seo-url-postfix"><span data-toggle="tooltip" title="<?php echo $help_seo_url_postfix; ?>"><?php echo $entry_seo_url_postfix; ?></span></label> <div class="col-sm-10"> <input type="text" name="config_seo_url_postfix" value="<?php echo $config_seo_url_postfix; ?>" placeholder="<?php echo $entry_seo_url_postfix; ?>" id="input-seo-url-postfix" class="form-control" /> </div> </div>]]></add> </operation> </file> <file path="catalog/controller/common/header.php"> <operation> <search trim="true" index="0"><![CDATA[$data['name'] = $this->config->get('config_name');]]></search> <add position="after" trim="false" offset="0"><![CDATA[ $data['alter_lang'] = $this->getAlterLanguageLinks($this->document->getLinks());]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[return $this->load->view('default/template/common/header.tpl', $data);]]></search> <add position="after" trim="false" offset="2"><![CDATA[ protected function getAlterLanguageLinks($links) { $result = array(); if ($this->config->get('config_seo_url')) { foreach($links as $link) { if($link['rel']=='canonical') { $url=$link['href']; $schema = parse_url($url,PHP_URL_SCHEME); $server = strtolower($schema)=='https' ? HTTPS_SERVER : HTTP_SERVER; $cur_lang = substr($url, strlen($server),2); $query = substr($url, strlen($server)+2); $this->load->model('localisation/language'); $languages = $this->model_localisation_language->getLanguages(); $active_langs = array(); foreach($languages as $lang) { if($lang['status']) { $active_langs[]=$lang['code']; } } if(in_array($cur_lang, $active_langs)) { foreach($active_langs as $lang) { $result[$lang] = $server.$lang.($query ? $query : ''); } } } } } return $result; }]]></add> </operation> </file> <file path="catalog/controller/common/home.php"> <operation> <search trim="true" index="0"><![CDATA[$this->document->addLink(HTTP_SERVER, 'canonical');]]></search> <add position="replace" trim="false" offset="0"><![CDATA[$this->document->addLink($this->url->link('common/home'), 'canonical');]]></add> </operation> </file> <file path="catalog/controller/common/language.php"> <operation> <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link('common/home');]]></search> <add position="replace" trim="false" offset="0"><![CDATA[ $data['redirect_route'] = 'common/home'; $data['redirect_query'] = ''; $data['redirect_ssl'] = '';]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link($route, $url, $this->request->server['HTTPS']);]]></search> <add position="replace" trim="false" offset="0"><![CDATA[ $data['redirect_route']=$route; $data['redirect_query']=$url; $data['redirect_ssl']=$this->request->server['HTTPS'];]]></add> </operation> <operation> <search regex="true" limit="1" quote="true"><![CDATA[~ if (isset($this->request->post['redirect'])) { $this->response->redirect($this->request->post['redirect']);~]]></search> <add><![CDATA[ if (isset($this->request->post['redirect_route'])) { $url = $this->url->link($this->request->post['redirect_route'], isset($this->request->post['redirect_query']) ? html_entity_decode($this->request->post['redirect_query']) : '', isset($this->request->post['redirect_ssl']) ? $this->request->post['redirect_ssl'] : ''); $this->response->redirect($url);]]></add> </operation> </file> <file path="catalog/view/theme/default/template/common/header.tpl"> <operation> <search trim="true" index="0"><![CDATA[<script src="catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>]]></search> <add position="before" trim="false" offset="0"><![CDATA[<?php foreach ($alter_lang as $lang=>$href) { ?> <link href="<?php echo $href; ?>" hreflang="<?php echo $lang; ?>" rel="alternate" /> <?php } ?>]]></add> </operation> </file> <file path="catalog/view/theme/default/template/common/language.tpl"> <operation> <search trim="true" index="0"><![CDATA[<input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />]]></search> <add position="replace" trim="false" offset="0"><![CDATA[ <input type="hidden" name="redirect_route" value="<?php echo $redirect_route; ?>" /> <input type="hidden" name="redirect_query" value="<?php echo isset($redirect_query) ? $redirect_query : ''; ?>" /> <input type="hidden" name="redirect_ssl" value="<?php echo isset($redirect_ssl) ? $redirect_ssl : ''; ?>" />]]></add> </operation> </file> <file path="catalog/controller/common/home.php"> <operation> <search regex="true" limit="1" quote="true"><![CDATA[~if (isset($this->request->get['route'])) { $this->document->addLink($this->url->link('common/home'), 'canonical'); }~]]></search> <add><![CDATA[$this->document->addLink($this->getCanonical(), 'canonical');]]></add> </operation> <operation> <search trim="true" index="0"><![CDATA[$this->response->setOutput($this->load->view('default/template/common/home.tpl', $data));]]></search> <add position="after" trim="false" offset="2"><![CDATA[ protected function getCanonical() { $url = HTTP_SERVER; if( $this->config->get('config_seo_url') && $this->config->get('config_seo_url_type') == 'seo_pro') { $url = $this->url->link('common/home'); $query = $this->db->query("SELECT value FROM " . DB_PREFIX . "setting WHERE store_id = '" . (int)$this->config->get('config_store_id') . "' AND `key` ='config_language'"); $code = $this->session->data['language']; // Do not show language code for home when default language is always shown if( !$this->config->get('ocjazz_seopro_hide_default') && $code == $query->row['value']) { $component = parse_url($url); if ($component['scheme'] == 'https') { $domain = $this->config->get('config_ssl'); } else { $domain = $this->config->get('config_url'); } $url = preg_replace('~('.$domain.')('.$code.'/)(.+)~i', '$1$3',$url); } } return $url; } ]]></add> </operation> </file> </modification> Что тут не так?
-
Странная ошибка стала появляться... Чищу кэш через админ панель (нажимаю кнопку) и браузер выкидывает ошибку "SERVER ERROR 500". Сайт работает, но при вводе логина и пароля для админ панели, не пускает и опять эта ошибка "SERVER ERROR 500". Тех поддержка хостинга показывает вот такую ошибку: PHP Fatal error: Cannot redeclare ModelCatalogProduct::getProductMainCategoryId() in /****/site/public_html/system/storage/modification/admin/model/catalog/product.php on line 711 Вот те строки в этом файле: public function getProductMainCategoryId($product_id) { $query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND main_category = '1' LIMIT 1"); return ($query->num_rows ? (int)$query->row['category_id'] : 0); } Тех поддержка там что-то делает и вроде все работает, могу зайти в админ панель... Но после обновления кэш, опять эта ошибка... Подскажите, что это может быть? ocStore 2.1.0.1
-
[Поддержка] модуль управления seo_pro для opencart
jjoni replied to freelancer's topic in SEO, карта сайта, оптимизация
Подскажите, в чем проблема? Стоит ocStore 2.1.0.1. Заметил, что при включенном SeoPro, пропадают хлебные крошки у подкатегорий. К примеру если зайти в Главная-Категория-Подкатегория, то крошки выглядят так Главная-Подкатегория. Если отключить SeoPro, то все норм... У товаров такой беды нет. Если зайти товар, то показывает полный путь от главной до самой глубокой подкатегории. Как исправить? -
Привет! Стоит ocStore 2.1.0.1. Заметил, что при включенном SeoPro, пропадают хлебные крошки у подкатегорий. К примеру если зайти в Главная-Категория-Подкатегория, то крошки выглядят так Главная-Подкатегория. Если отключить SeoPro, то все норм... У товаров такой беды нет. Если зайти товар, то показывает полный путь от главной до самой глубокой подкатегории. Подскажите, как исправить?
-
Привет! Нужен модуль, который позволит искать товары на сайте через запрос из Telegram Bot. Есть такой? Или кто может сделать?
-
Убирает верхнюю полосу советника, но справа внизу вылетает окно с более выгодным предложением на маркете... По этому не совсем решение проблемы..
-
Это платное решение?
-
Меня в маркете вообще нету... По этому люди могут только уходить) От сюда вопросы: - Как отследить, сколько людей уходит по советнику? - Как его вырезать?
-
А как-то можно проследить, сколько народу приходит с советником на сайт? В метрике или модуль мониторинга?
-
Привет! Чем или как заблокировать Яндекс Советника на моем сайте, что бы не отображалась эта гадость у посетителей сайта? Видел платные сервисы (от 2000 руб/мес), соответственно это не подходит...
-
А можно подробнее? Или где посмотреть пример?
-
Привет! Как можно вывести HTML блок в нестандартном месте в карточке товара? К примеру прописать в шаблоне место вывода блока
-
Так у меня не стандартный... Просто по логике, если главная категория отключена, то и входящие в нее категории тоже не будут в sitemap участвовать?
-
Привет! Создал много подкатегорий (по ключевым запросам пользователей). Создал общую категорию "1" и скрыл ее. В нее добавил новые подкатегории, но их не скрывал. Сделано это, что бы меню категорий не разросталось... Но подкатегории не попадают в Sitemap сайта указанного в robots.txt. Как это исправить?