Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Ошибка при уведомлении с Ропотому чтокассы


Recommended Posts

Люди у меня икая проблема.

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

<br /><b>Fatal error</b>: Call to a member function getFile() on a non-object in <b>/путь к папке сайи/system/engine/front.php</b> on line <b>34</b><br />

ссылка для уведомления выглядит ик http://www.сайт/index.php?route=payment/robokassa/callback

Что гделать в когде ковырялся ик и не понял в чем прилина.

Link to comment
Share on other sites


Версия ocstore_v0.1.7 + стоит модуль замены урлов, т.е. он убирает вот икие вещи "index.php?route="

Link to comment
Share on other sites


Да проблема решена ... прилина была в модуле Simple URL V1.0 помогла в фалике /system/library/response.php который заменялся этим модулем дописать в строке исключения замены этот ссылки ик же как и ссылок админ панели

public function output() {

global $registry;

if ($registry->get('config')->get('config_seo_url') and !preg_match('/\/admin\//ism', $this->output) and ! preg_match('/robokassa\/callback/ism', $this->output)) {

$ouput = preg_replace('/index\.php\?route=([-a-z0-9_.\/]*+)(?:(\&|\&)([-a-z0-9+&@\/%=_.]*+))?/i', '${1}?${3}', $this->output);

} else {

$ouput = $this->output;

}

if ($this->level) {

$ouput = $this->compress($ouput, $this->level);

}

if (!headers_sent()) {

foreach ($this->headers as $header) {

header($header, TRUE);

}

}

echo $ouput;

}

Link to comment
Share on other sites


Ребят, и же проблема, и же версия магазина, тот же Simple URL V1.0, но вариант от Abit не устраняет первоприлину, а маскирует ее. Да, ошибка пересила появляться, но с тем же успехом и заказы вообещё не принимаются, даже ситус Ожидание при оформлении заказа клиентом в панели админисратора не появляется: вообещё заказ как бы не был совершен. До рилиты "с ошибкой", хоть она и проявлялась, все заказы успешно вигдел "продавец" со ситусом оплачено, но сейчас... Хотел бы еещё уточнить у знатоков: должны ли письма отправляться продавцу по мере оплаты/поступления заказа? у меня их нет...

Link to comment
Share on other sites


XYZ

Ты прав заметил то, что заказ не рилииет не сразу.

Я ковырялся в когде и по мере догадок и распечатываний переменных /system/engine/front.php сгделал вывод, что ошибка возникает в когде нового /catalog/controller/common/seo_url.php его заменяет модуль Simple URL V1.0 но ик и не понял что им гделать.

Link to comment
Share on other sites


Думаю надо в .htaccess запретить редирект и рерайт ссылок платоженых методов... примерно ик:

после строк

RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)$ [NC]
и

RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)\&(.*)$ [NC]
добавить строку

RewriteCond %{QUERY_STRING} !(^route=payment)

и в response.php запретить карябать икие ссылки...

Link to comment
Share on other sites

Yesvik

не помогло все равно выдает ошибку (

<br />
<b>Fatal error</b>:  Call to a member function getFile() on a non-object in <b> /путь/chaevnya.com/system/engine/front.php</b> on line <b>36</b><br />

Не могли бы показать как должен выглягдеть файл .htaccess

в моем случае он икой

Options +FollowSymlinks

# Запретить листинг директорий
Options -Indexes

AddType application/x-httpd-php .phtml
AddHandler application/x-httpd-php .phtml

RewriteCond %{HTTP_HOST} ^chaevnya.com
RewriteRule (.*) http://www.chaevnya.com/$1 [R=301,L]

# Закрыть доступ к файлам шаблонов
<FilesMatch "\.tpl">
Order deny,allow
Deny from all
</FilesMatch>

# Необходимо для ЧПУ.
RewriteEngine On
RewriteBase /

# This will prevent redirect loop for the below three RewriteRule.
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

# E.g external redirect /index.php?route=common/home to /common/home
# X-Requested-With (http header created by jQuery.load()) prevent this rule from AJAX request E.g Get product/product/review when open product details.
RewriteCond %{HTTP:X-Requested-With} !XMLHttpRequest [NC]
RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)$ [NC]
RewriteCond %{QUERY_STRING} !(^route=payment)
RewriteRule ^index\.php %1/? [R=301,L]

# E.g external redirect /index.php?route=product/product&product_id=8 to /product/product?product_id=8
RewriteCond %{HTTP:X-Requested-With} !XMLHttpRequest [NC]
RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)\&(.*)$ [NC]
RewriteCond %{QUERY_STRING} !(^route=payment)
RewriteRule ^index\.php %1/?%2 [R=301,L]

# E.g internal redirect /common/home to /index.php?route=common/home
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)/$|^([^?]*)$ index.php?_route_=$1$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)/$|^([^?]*)$ admin/index.php?_route_=$1$2 [L,QSA]
Link to comment
Share on other sites


Посмотрел твой магазин...

ссылки вида /index.php?route=blahblah/blahblah редиректятся на /blahblah/blahblah/

ссылки вида /index.php?route=payment/blahblah не редиректятся

ик что к .htaccess тут претензий нет и правки ты сгделал абсолютно правильно.

Уведомления от платоженых систем будут проходить без каких липотому что изменений.

Какая версия магазина?

  • +1 2
Link to comment
Share on other sites

Посмотрел твой магазин... ссылки вида /index.php?route=blahblah/blahblah редиректятся на /blahblah/blahblah/ссылки вида /index.php?route=payment/blahblah не редиректятсяик что к .htaccess тут претензий нет и правки ты сгделал абсолютно правильно.Уведомления от платоженых систем будут проходить без каких липотому что изменений.Какая версия магазина?

Версия ocstore_v0.1.7 + стоит модуль замены урлов, т.е. он убирает вот икие вещи "index.php?route="

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.