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

Статус
В этой теме нельзя размещать новые ответы.
А на прямую это как, подскажите?


В любом случае, интересно узнать почему так происходит, почему ошибка и с чем может быть связана

UPD: Причём заметил, что при установке того же вархауса, устанавливаются все его модули и слетает весь стандартный шаблон (видимо все хуки, но шаблон на главной становится как будто битый не до конца установленный) чтобы восстановить стандартный шаблон, пришлось назвать шаблон classic2 и нажать на "использовать шаблон" по прежнему выдал ошибку эту, но структура сайта восстановилась

UPD2: В режиме отладки, выдаёт такое, при попытке задействовать шаблон:

Код:
Notice в строке 133 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 162 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 133 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 162 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Какова вероятность что побило 1.7 из-за экспорта с 1.6 товаров и категорий, путём указания в параметрах неизвестного мне пункта "CMS" что вообще означает параметр cms
Prestashop 1.7.3.3 а Вы отучили от престатраст и т.д. и т.п.????
 
Напрямую, это по ftp, все файлы и папки по нужным местам расставляете, в теме шаблона они совпадают по названиям, в конфиг не забудьте xml файл со структурой темы положить. В моём случае, думаю, связано с настройками сервера, там выделенный и сисадмин эксперементирует с настройками и сейчас в отпуске, мне даже тему не показывал в админке, пришлось в дефолтную переименовать, и конфиг соответственно.Придёт с отпуска сисадмин, буду спрашивать.
 
...Какова вероятность что побило 1.7 из-за экспорта с 1.6 товаров и категорий, путём указания в параметрах неизвестного мне пункта "CMS" что вообще означает параметр cms

минимальная

так как таблицы категорий и товаров напрямую никак не связаны с устанавливаемой дизайн-темой
 
А на прямую это как, подскажите?


В любом случае, интересно узнать почему так происходит, почему ошибка и с чем может быть связана

UPD: Причём заметил, что при установке того же вархауса, устанавливаются все его модули и слетает весь стандартный шаблон (видимо все хуки, но шаблон на главной становится как будто битый не до конца установленный) чтобы восстановить стандартный шаблон, пришлось назвать шаблон classic2 и нажать на "использовать шаблон" по прежнему выдал ошибку эту, но структура сайта восстановилась

UPD2: В режиме отладки, выдаёт такое, при попытке задействовать шаблон:

Код:
Notice в строке 133 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 162 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 133 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 162 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Notice в строке 110 в файле ...public_html/src/PrestaShopBundle/Service/DataProvider/Marketplace/ApiClient.php
[8] Trying to get property of non-object

Warning в строке 349 в файле ...public_html/src/Adapter/Module/AdminModuleDataProvider.php
[2] Invalid argument supplied for foreach()

Какова вероятность что побило 1.7 из-за экспорта с 1.6 товаров и категорий, путём указания в параметрах неизвестного мне пункта "CMS" что вообще означает параметр cms

В общем ошибка исчезла после таких манипуляций:

Переключил версию php на 7.2 (Сплошные ошибки фатальные, даже в админку не смог зайти), далее переключил на php 5.6 (в админку зашел, ошибки активации шаблона остались), далее вернул все параметры (стучалок) к заводскому и переключился обратно на php 7.0 (как было изначально) ошибки исчезли... Потом начал возвращать (отучалки) в файлах обратно по одному и чекать на наличие ошибок, в итоге вернул все отучалки обратно и ошибок при активации шаблонов теперь нету...

В общем непонятно что это было, ошибки пропали, скорее всего помогли манипуляции с переключением версий php
 
У кого-нибудь есть сайт на престашоп 1.7 с количеством товара 7+тыс?
Не тормозит?
 
подскажите, не стого не сего , в коде магазина появилась строчка <meta name="robots" content="noindex,nofollow" /> на ключевых страницах, как это исправить ?

Нагуглил, это обновление с**а такое вредительское, blocklayerd 2.2.1
 
Последнее редактирование:
Понимаю что вопрос обсуждался, но я не нашел решения.
Presta 1.6.1.x
Задача такая.
В корзине не должна учитываться скидка по купону на товары которые уже со скидкой.
А то получается что товар со скидкой, и при добавлении купона вычитается еще и % скидки от цены товара после скидки.
Подскажите решение, пожалуйста
Люди добрые, ну подскажите как сделать!!!
 
Люди добрые, ну подскажите как сделать!!!
Сделать оверрайд для функции getContextualValue() из CartRules.php
Т.е. скопировать оригинальный CartRules.php в /override/classes/, затем заменить
Код:
class CartRuleCore extends ObjectModel
на
Код:
class CartRule extends CartRuleCore
и стереть все функции кроме
Код:
getContextualValue()

Потом найти в коде строку комментария // Discount (%) on the whole order
Несколькими строками ниже будет строка
Код:
$reduction_value += $order_total * $this->reduction_percent / 100;

В ней вычисляется сумма скидки. Из $order_total надо вычесть скидочные товары перед вычислением скидки. Для этого ПЕРЕД этой строкой вставьте цикл
Код:
foreach ($package_products as $product) {
    if($product['on_sale']) {
        $order_total -= ($use_tax ? $product['total_wt'] : $product['total']);
    }
}

Потом удалить файл /cache/class_index.php и протестировать применение скидки.

P.S. Это способ для товаров, у которых есть отметка "Показывать иконку Распродажа". Если же скидки реализуете через специальные цены и не используете параметр on_sale, то надо делать немного по-другому.
 
Последнее редактирование:
Сделать оверрайд для функции getContextualValue() из CartRules.php
Т.е. скопировать оригинальный CartRules.php в /override/classes/, затем заменить
Код:
class CartRuleCore extends ObjectModel
на
Код:
class CartRule extends CartRuleCore
и стереть все функции кроме
Код:
getContextualValue()

Потом найти в коде строку комментария // Discount (%) on the whole order
Несколькими строками ниже будет строка
Код:
$reduction_value += $order_total * $this->reduction_percent / 100;

В ней вычисляется сумма скидки. Из $order_total надо вычесть скидочные товары перед вычислением скидки. Для этого ПЕРЕД этой строкой вставьте цикл
Код:
foreach ($package_products as $product) {
    if($product['on_sale']) {
        $order_total -= ($use_tax ? $product['total_wt'] : $product['total']);
    }
}

Потом удалить файл /cache/class_index.php и протестировать применение скидки.

P.S. Это способ для товаров, у которых есть отметка "Показывать иконку Распродажа". Если же скидки реализуете через специальные цены и не используете параметр on_sale, то надо делать немного по-другому.
Спасибо огромное. подправлю отпишусь обязательно.
А другой вариант как, например если скидка стоит на всю категорию, или как ты пишешь без отметки через специальные цены
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху