Перейти к содержанию
ganamay

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

Рекомендуемые сообщения

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Покажите содержимое файла 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']  = 'Операция выполнена успешно';
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Вот эта часть 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Изменено пользователем igon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Мой OC 1.5.6.1-12

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

<?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']  = 'Операция выполнена успешно';
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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']  = 'Операция выполнена успешно';

?> 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.