Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Решено] Правильные окончания (helper)


 Погделиться

Рекомендованные сообещёния

Захотел окончания правильные сгделать, вылазиет 1 раз ошибка и после рефреша исчезает, т.е. на новых куках ошибки... как исправить? 
 

Notice: Undefined index: language in category.php 
Undefined variable: endingArray in helper/ending.php on line 17
Undefined variable: endingArray in helper/ending.php on line 25

В контролере categoty.php
 

$this->load->helper('ending');
$data['products'][] = array(
...
'reviews'      => reviewEnding((int)$result['reviews'], $this->request->cookie['language']),
);

В ending.php 
 

function reviewEnding($number, $language) {
	$number = $number % 100;
	if ($language == 'ru-ru') {
		$endingArray = array("отзыв", "отзыва", "отзывов");
	} elseif ($language == 'ua') {
		$endingArray = array( "відгук", "відгуки", "відгуків" );
	} elseif ($language == 'en') {
		$endingArray = array( "review", "reviews", "reviews" );
	}
	if ($number >= 11 && $number <= 19) {
		$ending = $endingArray[2];
	} else {
		$i = $number % 10;
		switch ($i) {
			case (1):
17.				$ending = $endingArray[0];
				break;
			case (2):
			case (3):
			case (4):
			$ending = $endingArray[1];
			break;
			default:
25.				$ending = $endingArray[2];
		}
	}
	return $number . ' ' . $ending;
}

 

Изменено пользователем zik920
Ссылка на комменирий
Погделиться на других сайих


1. Языковая Кука не пришла
2. массив нужно опрегделить до проверки кодов языков

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

да тут проблема-то вот в чем, ладно с кукой

 

function reviewEnding($number, $language) {
    $number = $number % 100;
    if ($language == 'ru-ru') {
        $endingArray = array("отзыв", "отзыва", "отзывов");
    } elseif ($language == 'ua') {
        $endingArray = array( "відгук", "відгуки", "відгуків" );
    } else {
        $endingArray = array( "review", "reviews", "reviews" );
    }

вот и все решение

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

7 часов назад, zik920 сказал:

$this->request->cookie['language'])

заменить на как сказал @vtkach

на

$this->config->get('config_language')

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

55 минут назад, chukcha сказал:

заменить на как сказал @vtkach

на

$this->config->get('config_language')

HTTP ERROR 500
При всех манипуляциях...

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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