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

Alexx18

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

    16
  • З нами

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

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

  1. сделал, но всеравно при site.com/sitemap.xml работает норм - карта генерируется а вот site.com/ua/sitemap.xml режет sitemap, и отдает только site.com/ua - обычную страницу
  2. Добрый вечер. Не пойму как Гуглу передать две карты - одну на одном языке другую на другом. (правильно же я понял что создаются несколько sitemap - сколько языков.) Но вот если я открываю site.com/sitemap.xml - то все норм отдает. Если же site.com/ua/sitemap.xml меня редиректит на site.com/ua/ в .htacsess добавлено только Версия ocStore 3.0.3.7 Что может быть не так. И еще маленький вопрос - а как главную страницу вставить в sitemap.xml ? ( кстати при устаноке install.xml не прописался...... пришлось ручками дописывать.)
  3. друзья - первую проблему почему сайт работает на https, а в карте выводится http, решил. Решение нашел вот тут 2) кроме того нашел, что в этом куске проблема дублей товаров -фото
  4. Спасибо за совет, но это же форум, а не место где советуют купить....... Да и платные модули, ...... я уже купил, с 3х - 2 на свалку.
  5. Друзья всем привет. Вот начинаю осваивать Opencart3, и настраиваю Sitemap.xml для Гугла. Работаю на Версия ocStore 3.0.3.7, - Использую два языка (основной РУ), - HTTPS На фото все видно, я же озвучу 3 причины, что меня смущают: 1) 5 дублей каждой страницы ( 1 страница с раширением IMAGE, остальные без). Что это и как с этим бороться 2) в строке "url => lok" выдается HTTP, при том что сайт работает на протоколе HTTPS, и даже если перейти по ссылке что в Sitemap.xml, она редиректит на HTTPS (зелёным подсветил) (кстати для картинки все правильно выводит HTTPS 3) картинка выводится с кеша, что лично мне кажется неправильно, потому что отдавать надо оригинал в хорошем качестве ....... потому как обойтись без фото кеша, а с оригиналом? Создается файл стандартным /catalog/controller/extension/feed/google_sitemap.php <?php class ControllerExtensionFeedGoogleSitemap extends Controller { public function index() { if ($this->config->get('feed_google_sitemap_status')) { $output = '<?xml version="1.0" encoding="UTF-8"?>'; $output .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">'; $this->load->model('catalog/product'); $this->load->model('tool/image'); $products = $this->model_catalog_product->getProducts(); foreach ($products as $product) { if ($product['image']) { $output .= '<url>'; $output .= ' <loc>' . $this->url->link('product/product', 'product_id=' . $product['product_id']) . '</loc>'; $output .= ' <changefreq>weekly</changefreq>'; $output .= ' <lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>'; $output .= ' <priority>1.0</priority>'; $output .= ' <image:image>'; $output .= ' <image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_popup_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>'; $output .= ' <image:caption>' . $product['name'] . '</image:caption>'; $output .= ' <image:title>' . $product['name'] . '</image:title>'; $output .= ' </image:image>'; $output .= '</url>'; } } $this->load->model('catalog/category'); $output .= $this->getCategories(0); $this->load->model('catalog/manufacturer'); $manufacturers = $this->model_catalog_manufacturer->getManufacturers(); foreach ($manufacturers as $manufacturer) { $output .= '<url>'; $output .= ' <loc>' . $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $manufacturer['manufacturer_id']) . '</loc>'; $output .= ' <changefreq>weekly</changefreq>'; $output .= ' <priority>0.7</priority>'; $output .= '</url>'; $products = $this->model_catalog_product->getProducts(array('filter_manufacturer_id' => $manufacturer['manufacturer_id'])); foreach ($products as $product) { $output .= '<url>'; $output .= ' <loc>' . $this->url->link('product/product', 'manufacturer_id=' . $manufacturer['manufacturer_id'] . '&product_id=' . $product['product_id']) . '</loc>'; $output .= ' <changefreq>weekly</changefreq>'; $output .= ' <priority>1.0</priority>'; $output .= '</url>'; } } $this->load->model('catalog/information'); $informations = $this->model_catalog_information->getInformations(); foreach ($informations as $information) { $output .= '<url>'; $output .= ' <loc>' . $this->url->link('information/information', 'information_id=' . $information['information_id']) . '</loc>'; $output .= ' <changefreq>weekly</changefreq>'; $output .= ' <priority>0.5</priority>'; $output .= '</url>'; } $output .= '</urlset>'; $this->response->addHeader('Content-Type: application/xml'); $this->response->setOutput($output); } } protected function getCategories($parent_id, $current_path = '') { $output = ''; $results = $this->model_catalog_category->getCategories($parent_id); foreach ($results as $result) { if (!$current_path) { $new_path = $result['category_id']; } else { $new_path = $current_path . '_' . $result['category_id']; } $output .= '<url>'; $output .= ' <loc>' . $this->url->link('product/category', 'path=' . $new_path) . '</loc>'; $output .= ' <changefreq>weekly</changefreq>'; $output .= ' <priority>0.7</priority>'; $output .= '</url>'; $products = $this->model_catalog_product->getProducts(array('filter_category_id' => $result['category_id'])); foreach ($products as $product) { $output .= '<url>'; $output .= ' <loc>' . $this->url->link('product/product', 'path=' . $new_path . '&product_id=' . $product['product_id']) . '</loc>'; $output .= ' <changefreq>weekly</changefreq>'; $output .= ' <priority>1.0</priority>'; $output .= '</url>'; } $output .= $this->getCategories($result['category_id'], $new_path); } return $output; } }
  6. Спасибо тебе огромное, все работает - это я не досмотрел ! ))))
  7. та не, кеш то я почистил))вот скрины ..... Я думаю оно б генерировало, просто сначала вываливается "ошибка", что не заполнено и блокирует
  8. Не компилирует .... по коду Хром ошибку не выдает. Что-то с кодом, или же данные не могут передатся в rand_model
  9. а если условием, чтоб при сохранении если пусто, происходила генерация
  10. нет)) просто во многих случаях мы делаем копию-дубль товара, и когда убираем значение дублирующего кода товара, то при сохранении выдает ошибку что поле несохранено. При новом создании все ок - код генерируется норм. А когда удаляешь значение, и сохраняешь чтоб обновилась генерация, то нет
  11. надо и чтоб при создании нового товара генерировался код, и если значение пустое.....
  12. КРАСАВА +100 в карму))) И не надо никаких модулей, и уникальность кода гарантирована))) Единственный нюанс, (хотя переживем), это что при новом создании товара генерируется код, а вот когда удаляешь в старом товаре код, и расчитываешь что он сгенерится, то выдает просто ошибку что пустое поле)))
  13. ну ок, чтоб было уникальным и не грузить отдельными запросами. Может тогда ДАТУ текущую с временем, вставить как код товара. Может так $data['model'] = "777-" . $data('Y-m-d H:m:s'); А нет ошибку выдает. та и одной строкой надо
  14. Спасибо большое. Насколько я понял, создать код товара, в основе которого лежит конкретный id товара, не получится. Только рандомным перебором
  15. Уважаемые знатоки, пдскажите. Пробую вручную создать, чтоб при сохранении нового товара или при пустом поле "код товара", генерировался код товара, и записывался в SQL таблицу. Пробую следущим способом: в admin/controller/catalog/product.php прописываю: $data['model'] = "777-" . $product_id; При сохранении товара, сохраняется только "777-". Я так думаю, изза того, что в новом товаре еще не создан и не присвоен $product_id Как быть, что делать..... Спасибо Версия ocStore 3.0.3.7
×
×
  • Створити...

Important Information

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