fominsa
Мой дом здесь!
- Регистрация
- 11 Фев 2008
- Сообщения
- 234
- Реакции
- 230
- Автор темы
- #1
Не знаю как вам а мне всегда не нравилось когда пишут что то подобное: 1 товар(ов), Уважаемый(ая).
поэтому для shop scripta я сделал мини функцию которая делает правильное окончание взависимости от числа
например:
В файл core_functions/functions.php вставляем следующую функцию
Эта функция принимает 4 переменных
для того чтобы это прикрепить к нашей корзине надо поправить 4 файла:
\includes\shopping_cart.php
\includes\shopping_cart_info.php
\templates\frontend\shop\shopping_cart_info.tpl.html
\templates\frontend\shop\shopping_cart.tpl.html
поэтому для shop scripta я сделал мини функцию которая делает правильное окончание взависимости от числа
например:
- 1 товар
- 2 товара
- 5 товаров
- 151 товар
В файл core_functions/functions.php вставляем следующую функцию
PHP:
function true_end($chislo,$n1,$n2,$n5){
$chislo=(int)$chislo;
$ch=substr($chislo,-1);
if ($ch==1){
if (strlen($chislo)>1){
$result=substr($chislo,-2,1)==1?$n5:$n1;
}else{
$result=$n1;
}
}elseif($ch>1&&$ch<5){
if (strlen($chislo)>1){
$result=substr($chislo,-2,1)==1?$n5:$n2;
}else{
$result=$n2;
}
}else{
$result=$n5;
}
return $result;
}
- $chislo -- число которому необходимо окончание
- $n1 -- текст при еденице (товар, день)
- $n2 -- текст при двух еденицах (товара, дня)
- $n5 -- текст при пяти еденицах (товаров, дней)
для того чтобы это прикрепить к нашей корзине надо поправить 4 файла:
\includes\shopping_cart.php
PHP:
//ищем
//$resCart = cartGetCartContent();
//ниже дописываем
$prod_num=0;
foreach ($resCart["cart_content"] as $value){$prod_num+=$value["quantity"];}
$smarty->assign("shopping_cart_ended", true_end($prod_num,"товар","товара","товаров"));
PHP:
//ищем
//$smarty->assign("shopping_cart_items", $cnt);
//ниже дописываем
$smarty->assign("shopping_cart_ended", true_end($cnt,"товар","товара","товаров"));
PHP:
//ищем
//{$smarty.const.CART_CONTENT_NOT_EMPTY}
//Заменяем на
{$shopping_cart_ended}
PHP:
//ищем
//{$smarty.const.STRING_PRODUCTS}
//Заменяем на
{$shopping_cart_ended}