Jump to content
Sign in to follow this  
ganamay

[Решено] Ошибка при оформлении заказа catalog/controller/checkout/success.php on line 54

Recommended Posts

При оформлении заказа появляется ошибка.

Warning: sprintf(): Too few arguments in /home/.../catalog/controller/checkout/success.php on line 54

post-692267-0-86396700-1423604773_thumb.png

Как можно это исправить?

Share this post


Link to post
Share on other sites

Сделала бэкап за день базы данных и сайта. Все изменения слетели, ошибка все-равно появляется. Может быть все-таки кто-нибудь знает в чем причина?

Share this post


Link to post
Share on other sites

В функцию форматирования строки передано меньше аргументов, чем она ожидает.

 

Покажите содержимое файла catalog\language\russian\checkout\success.php

 

Скорее всего, неправильно сформировано значение для переменной $_['text_customer']

Share this post


Link to post
Share on other sites

В функцию форматирования строки передано меньше аргументов, чем она ожидает.

 

Покажите содержимое файла catalog\language\russian\checkout\success.php

 

Скорее всего, неправильно сформировано значение для переменной $_['text_customer']

<?php
// Heading
$_['heading_title'] = 'Ваш заказ сформирован!';
 
// Text
$_['text_customer'] = '<p>Ваш заказ <a href="%s">№%s</a> успешно сформирован!</p><p>Вы можете просматривать все ваши заказы в <a href="%s">Личном кабинете</a> в разделе <a href="%s">"История заказов"</a>.</p><p>Если ваша покупка связана с файлом для скачивания, тогда вам нужно перейти в раздел <a href="%s">"Файлы для скачивания"</a> и скачать купленный товар.</p><p>Все свои вопросы вы можете направить в <a href="%s">Службу поддержки</a> клиентов нашего магазина.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
$_['text_guest']    = '<p>Ваш заказ №%s успешно сформирован!</p><p>Пожалуйста, направляйте в <a href="%s">Службу поддержки</a> любые ваши вопросы.</p><p>Зарегистрированным покупателям доступен просмотр состояния заказов и возможность просмотра истории прошлых покупок.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
$_['text_basket']   = 'Корзина';
$_['text_checkout'] = 'Оформить заказ';
$_['text_success']  = 'Операция выполнена успешно';
?>

Share this post


Link to post
Share on other sites

Да, Ваше значение для переменной $_['text_customer'] предполагает получение 6 параметров, а в строке 54 передаются только 4.

 

Вот эта часть 

<p>Ваш заказ <a href="%s">№%s</a> успешно сформирован!</p>

 явно самопальная. Замените ее на стандартную 

<p>Ваш заказ успешно создан!</p>

Share this post


Link to post
Share on other sites

Все сделала. Теперь после оформления заказа появляется вот такая абра-кадабра

post-692267-0-27158300-1423658258_thumb.png

Текст письма в порядке

Share this post


Link to post
Share on other sites

Делали в NotePad++? Сохраняли в формате UTF-8 (без BOM) ?

 

Показывайте, что сделали.

 

Или замените "сделанный" файл catalog\language\russian\checkout\success.php на стандартный, из "коробки".

Edited by igon

Share this post


Link to post
Share on other sites

Вернула текст в первоначальный вид и вот, что получилось

post-692267-0-14929500-1423659089_thumb.png

Сообщение об ошибке так и осталось.

Мой OC 1.5.6.1-12

Share this post


Link to post
Share on other sites

См. внимательней мой предыдущий пост, относительно без BOM.

 

И вариант по замене на стандартный файл.

Share this post


Link to post
Share on other sites

Делали в NotePad++? Сохраняли в формате UTF-8 (без BOM) ?

 

Показывайте, что сделали.

 

Или замените "сделанный" файл catalog\language\russian\checkout\success.php на стандартный, из "коробки".

Это и был стандартный. После пересохранения в NotePad++ в формате UTF-8 (без BOM) изображение на экране пришло в нормальный вид. Вот только сообщение об ошибке так и осталось

Share this post


Link to post
Share on other sites

Стандартный:

<?php
// Heading
$_['heading_title'] = 'Ваш заказ сформирован!';
 
// Text
$_['text_customer'] = '<p>Ваш заказ <a href="%s">№%s</a> успешно сформирован!</p><p>Вы можете просматривать все ваши заказы в <a href="%s">Личном кабинете</a> в разделе <a href="%s">"История заказов"</a>.</p><p>Если ваша покупка связана с файлом для скачивания, тогда вам нужно перейти в раздел <a href="%s">"Файлы для скачивания"</a> и скачать купленный товар.</p><p>Все свои вопросы вы можете направить в <a href="%s">Службу поддержки</a> клиентов нашего магазина.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
$_['text_guest']    = '<p>Ваш заказ №%s успешно сформирован!</p><p>Пожалуйста, направляйте в <a href="%s">Службу поддержки</a> любые ваши вопросы.</p><p>Зарегистрированным покупателям доступен просмотр состояния заказов и возможность просмотра истории прошлых покупок.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
$_['text_basket']   = 'Корзина';
$_['text_checkout'] = 'Оформить заказ';
$_['text_success']  = 'Операция выполнена успешно';
?>

Share this post


Link to post
Share on other sites

Спасибо большое, все сделала, как Вы сказали в NotePad++ в формате UTF-8 (без BOM) .Сообщение об ошибке исчезло. Подошел вариант <p>Ваш заказ успешно создан!</p>. 

Share this post


Link to post
Share on other sites

Нет, это не стандартный, кусок 

<p>Ваш заказ <a href="%s">№%s</a> успешно сформирован!</p>

в нем все еще имеет место быть. Замените его на 

<p>Ваш заказ успешно создан!</p>

Чуть опоздал... Ну и хорошо, раз все хорошо :)

Share this post


Link to post
Share on other sites

это какой то идиотизм. Вчера была такая проблема, все по этой инструкции исправила. сегодня нужно было сделать бэкап на сутки назад, так как накосячила где-то в коде когда убирала лишние поля. И теперь не могу избавиться от

Warning: sprintf() [function.sprintf]: Too few arguments in /var/www/kievkamincomua/data/www/shop.kievkamin.com.ua/catalog/controller/checkout/success.php on line 56

 

и кракозябликов вместо текста на странице.

 

 

 catalog\language\russian\checkout\success.php

 

<?php

// Heading
$_['heading_title'] = 'Ваш заказ сформирован!';
 
// Text
$_['text_customer'] = '<p>Ваш заказ успешно создан!</p><p>Вы можете просматривать все ваши заказы в <a href="%s">Личном кабинете</a> в разделе <a href="%s">"История заказов"</a>.</p><p>Если ваша покупка связана с файлом для скачивания, тогда вам нужно перейти в раздел <a href="%s">"Файлы для скачивания"</a> и скачать купленный товар.</p><p>Все свои вопросы вы можете направить в <a href="%s">Службу поддержки</a> клиентов нашего магазина.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
$_['text_guest']    = '<p>Ваш заказ №%s успешно сформирован!</p><p>Пожалуйста, направляйте в <a href="%s">Службу поддержки</a> любые ваши вопросы.</p><p>Зарегистрированным покупателям доступен просмотр состояния заказов и возможность просмотра истории прошлых покупок.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
$_['text_basket']   = 'Корзина';
$_['text_checkout'] = 'Оформить заказ';
$_['text_success']  = 'Операция выполнена успешно';

?> 

Share this post


Link to post
Share on other sites

Как я понял, Вы выполнили восстановление из бэкапа. Естественно, все изменения, внесенные после даты создания бэкапа, будут утеряны.

 

Так что еще раз повторите действия "по инструкции" и, если все будет в порядке, создайте еще один бэкап для фиксации изменений. И не забывайте сохранять затронутые файлы в формате без BOM.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.