Помощь Поддержка или помощь c Prestashop - 2 часть

Статус
В этой теме нельзя размещать новые ответы.
Спасибо, это я читал, смотрел. Не совсем понял реализацию по первой ссылке в конце (скрипт), но мысль была другая, чтоб считывался мой .xml файл.

Вижу, что отдается по Для просмотра ссылки Войди или Зарегистрируйся т.е. читается этот файл, и дальше пересчитываются курсы относительно основной валюты = у меня гривна. Курсы подтягиваются очень похоже НБУ, в принципе устраивает. НО почему-то было пару глюков, когда курс евро становился равен 1, как и гривна. Может сбой на стороне ответа, х.з. Сейчас нормально все.

Вот как и куда подставить свой .xml файл, в котором указывать свои значения. Пусть их считывает.
наверное в этом файле можно поправить на свои значения - попробуйте /config/defines_uri.inc.php - Для просмотра ссылки Войди или Зарегистрируйся
 
наверное в этом файле можно поправить на свои значения - попробуйте /config/defines_uri.inc.php - Для просмотра ссылки Войди или Зарегистрируйся
а ничего, что здесь URL смениться:

Код:
Tools::safeDefine('_PS_TAB_MODULE_LIST_URL_',        _PS_API_URL_.'/xml/tab_modules_list.xml');
Tools::safeDefine('_PS_API_MODULES_LIST_16_',        _PS_API_DOMAIN_.'/xml/modules_list_16.xml');
 
а ничего, что здесь URL смениться:

Код:
Tools::safeDefine('_PS_TAB_MODULE_LIST_URL_',        _PS_API_URL_.'/xml/tab_modules_list.xml');
Tools::safeDefine('_PS_API_MODULES_LIST_16_',        _PS_API_DOMAIN_.'/xml/modules_list_16.xml');
попробуйте только в нижней строке поправьте, поставьте там полностью адрес к своему файлу currencies.xml без _PS_API_URL_ Для просмотра ссылки Войди или Зарегистрируйся
 
нет, не выходит. вылазит в обоих случаях: Посмотреть вложение 77068
странно : попробовал у себя - всё работает - может где в формате данных или в адресе к файлу ошибка?
Я так сделал: скачал файл Для просмотра ссылки Войди или Зарегистрируйся - сохранил к себе в папку tmp и прописал в /config/defines_uri.inc.php так:
Tools::safeDefine('_PS_CURRENCY_FEED_URL_', 'Для просмотра ссылки Войди или Зарегистрируйся
для теста поправил в файле Для просмотра ссылки Войди или Зарегистрируйся курс на
<currency iso_code="RUB" rate="1.0"/>
<currency iso_code="USD" rate="10.0"/>
в админке нажал на ссылку внизу страницы и обновил страницу и получил нужный курс
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Добавляя товары с названием например "Кепка USA #001" ругается на "#" и выдает ошибку
Код:
Неправильное поле name (Русский (Russian)).

Фиксится это настройками в админке?

UPD:
Пофиксил вот так:
Нужно переопределить метод isCatalogName из класса /classes/Validate.php убрать знак '#'
Код:
public static function isCatalogName($name)
{
        return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;=#{}]*$/u'), $name);
}


как правильно переопределить class, как назвать класс в оверрайде?
который в оригинале выглядит так:
Код:
class ValidateCore
{

}
И достаточно ли прописывать в этом оверрайде лишь один метод, приведенный выше (public static function isCatalogName) или нужно полностью копипастить код из оригинала??
 
Последнее редактирование:
странно : попробовал у себя - всё работает - может где в формате данных или в адресе к файлу ошибка?
Я так сделал: скачал файл Для просмотра ссылки Войди или Зарегистрируйся - сохранил к себе в папку tmp и прописал в /config/defines_uri.inc.php так:
Tools::safeDefine('_PS_CURRENCY_FEED_URL_', 'Для просмотра ссылки Войди или Зарегистрируйся
для теста поправил в файле Для просмотра ссылки Войди или Зарегистрируйся курс на
<currency iso_code="RUB" rate="1.0"/>
<currency iso_code="USD" rate="10.0"/>
в админке нажал на ссылку внизу страницы и обновил страницу и получил нужный курс
Для просмотра ссылки Войди или Зарегистрируйся
делал так же, только файл Для просмотра ссылки Войди или Зарегистрируйся сохранил в корневой папке сайта и нажимал не ссылку, а кнопку Обновление валют. Завтра попробую так, как вы, хотя разницы не вижу. Если будет работать, нужно думать, как автоматизировать занесение нужного курса в файл Для просмотра ссылки Войди или Зарегистрируйся. Можно парсить сайт с реальными курсами, но как правильно заносить данные в файл Для просмотра ссылки Войди или Зарегистрируйся?
 
Добавляя товары с названием например "Кепка USA #001" ругается на "#" и выдает ошибку
Код:
Неправильное поле name (Русский (Russian)).

Фиксится это настройками в админке?

UPD:
Пофиксил вот так:
Нужно переопределить метод isCatalogName из класса /classes/Validate.php убрать знак '#'
Код:
public static function isCatalogName($name)
{
        return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;=#{}]*$/u'), $name);
}


как правильно переопределить class, как назвать класс в оверрайде?
который в оригинале выглядит так:
Код:
class ValidateCore
{

}
И достаточно ли прописывать в этом оверрайде лишь один метод, приведенный выше (public static function isCatalogName) или нужно полностью копипастить код из оригинала??


как и в любом другом случае оверрайдов (в любом более менее функциональном модуле есть примеры:(

Код:
<?php

class Validate extends ValidateCore
{

public static function isCatalogName($name)
{
return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;=#{}]*$/u'), $name);
}


}
?>

UPD:
весь копипастить не нужно - только корректируемую функцию
 
Последнее редактирование:
как и в любом другом случае оверрайдов (в любом более менее функциональном модуле есть примеры:(

Код:
<?php

class Validate extends ValidateCore
{

public static function isCatalogName($name)
{
return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;=#{}]*$/u'), $name);
}


}
?>
спасибо, верно я понял, чтобы сделать оверрайд, необязательно копипастить весь код,а достаточно переопределить необходимый кусок кода?
раньше копипастил весь)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху