YML-файл

Автор Zhench, 09 апреля 2017, 11:51:32

« назад - далее »

dzedun007

У меня на престе 1.7.6.2 Яндекс Модуль не генерит ничего.(прил.) В чем дело не пойму. Причем пишет почему-то http, когда там ssl везде... памагите, люди добрые!

mistral

Модуль переустановите, возьмите последнюю версию модуля v1.1.11 от 25.11.2019

dzedun007

был 1.1.10, поставил 1.1.11 Изменений никаких...

mistral

У меня версия prestashop 1.7.6.1
Модуль Y.CMS 2.0 для Prestashop v1.1.11
Генерит yml файл со всеми выбранными товарами.

dzedun007

не знаю, может из-за того, что товаров 55 тыс. почти... но тогда по таймауту вылетал бы, а тут сразу раз и готово, но не то...

dzedun007

#20
Ответ поддержки: "Адрес сайта определяется по значению __PS_BASE_URI__, которое берется из настроек Prestashop. Для изменения адреса в прайс-листе Вам необходимо изменить значение __PS_BASE_URI__."
Этот __PS_BASE_URI__ задается, как я понимаю в config.php, но там присутствует функция: define('__PS_BASE_URI__', $context->shop->getBaseURI());
Что нужно поменять, чтобы этот __PS_BASE_URI__ стал с https, а не с http?
Может это из-за того, что php в режиме CGI работает, а не Apache? Может из-за этого переадресация не срабатывает?
И в Рассширенные параметры-Информация тоже с http:// домен стоит...

Adik

__PS_BASE_URI__ - создаеьтся из 2-х переменных, включенного протоколо и имени домена.  Значения берутся из бызы.
У вас протокол https включен в админке?

dzedun007


tigran

Цитата: dzedun007 от 21 января 2020, 22:04:53
Ответ поддержки: "Адрес сайта определяется по значению __PS_BASE_URI__, которое берется из настроек Prestashop. Для изменения адреса в прайс-листе Вам необходимо изменить значение __PS_BASE_URI__."
Этот __PS_BASE_URI__ задается, как я понимаю в config.php, но там присутствует функция: define('__PS_BASE_URI__', $context->shop->getBaseURI());
Что нужно поменять, чтобы этот __PS_BASE_URI__ стал с https, а не с http?
Может это из-за того, что php в режиме CGI работает, а не Apache? Может из-за этого переадресация не срабатывает?
И в Рассширенные параметры-Информация тоже с http:// домен стоит...
У вас изменены базовые матоды, так как getBaseURL вернет адрес сайта с https, если ssl включено в админке
/**
     * Get shop URL
     *
     * @param string $auto_secure_mode if set to true, secure mode will be checked
     * @param string $add_base_uri if set to true, shop base uri will be added
     * @return string complete base url of current shop
     */
    public function getBaseURL($auto_secure_mode = false, $add_base_uri = true)
    {
        if (($auto_secure_mode && Tools::usingSecureMode() && !$this->domain_ssl) || !$this->domain) {
            return false;
        }

        $url = array();
        $url['protocol'] = $auto_secure_mode && Tools::usingSecureMode() ? 'https://' : 'http://';
        $url['domain'] = $auto_secure_mode && Tools::usingSecureMode() ? $this->domain_ssl : $this->domain;

        if ($add_base_uri) {
            $url['base_uri'] = $this->getBaseURI();
        }

        return implode('', $url);
    }

В папке override проверьте переопределение класса Shop в оригинальном файле проверьте.

dzedun007

#24
Если вы про файл /override/classes/shop/index.php, то там вот что:
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author    PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license   https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

header("Location: ../");
exit;


Вы про версию престы про 1.7.6.2 или про другую какую?

tigran

Для prestashop 1.7.6 метод определния url изменился.

Prestashop 1.6
$this->getBaseURI();

Prestashop 1.7
$this->getURL($ssl = false/true)

Может модуль не поддердивает prestashop 1.7.

dzedun007

Модуль вот этот: https://github.com/yandex-money/yandex-money-ycms-v2-prestashop
Написано поддерживает. :'(
Тем более ещё и тут http у меня: https://prestashop-forum.ru/index.php?action=dlattach;topic=8150.0;attach=9039;image
Тут то модуль не причем...

hyperion

У меня данный модуль на 1.7 версии не работает. Ошибка валидации в вебмастере яндекса.

Adik

Цитата: hyperion от 12 июля 2020, 13:58:32
У меня данный модуль на 1.7 версии не работает. Ошибка валидации в вебмастере яндекса.
Какая ошибка? Описание?

Diman dev

Цитата: dzedun007 от 18 января 2020, 17:20:31
не знаю, может из-за того, что товаров 55 тыс. почти... но тогда по таймауту вылетал бы, а тут сразу раз и готово, но не то...

Для таких больших выгрузок в Яндексе мне посоветовали делать несколько YML файлов. Магазин с 50 тыс товаров.
Сам Яндекс маркет не успевал обработать по тайм ауту файл.
Сделал 3 YML файла по 20+20+10 тыс товаров, Яндекс все скушал.