1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Автоматическое изменение слова

Discussion in 'Прочая Поддержка - Help Requests' started by twixi007, Feb 7, 2011.

  1. twixi007 Thread starter Famous member


    Offline
    • Знаменитый
    Message Count:
    417
    Likes Received:
    77
    My version of SE:
    4.6.0
    Плагин предназначен для выбора формы слова, обозначающих кого — либо или что — либо, в зависимости от количества этих кого-либо или чего-либо.

    Например, если Вам надо вывести на экран количество принятых сообщений:

    У вас 5 новых сообщений.

    В шаблоне smarty это будет выглядеть как:

    PHP:
    {if $total_pms==0}
    <
    h3>Ваш ящик пуст.</h3>
    {else}
    <
    h3>У Ваc {$user_unread_pms} {$user_unread_pms|plural:'новое сообщение':'новых сообщения':'новых сообщений'}.</h3>
    {/if}
    Для того чтобы он работал создаем файл с названием modifier.plural.php в каталоге smarty/plugins/ и добавляем в него код:

    PHP:
    <?php

    /**
     * Smarty  modifier plugin
     *
     * Type:     modifier
     * Example: {$var|plural:'штука':'штуки':'штук'}
     * если $var =1, то выводится штука
     * если $var =2, то выводится штуки
     * если $var =6, то выводится штук
     *  и так для любой числовой переменной и слова(к примеру:литр пива,литра пива,литров пива)
     * вроде подходит и для украинских слов
     */
    function smarty_modifier_plural$count$form1$form2$form3)
     {
                    
    $count str_replace (' '''$count);
                    if (
    $count 10 && floor(($count 100) / 10) == 1) {
                            return 
    $form3;
                    } else {
                            switch (
    $count 10) {
                                    case 
    1: return $form1;
                                    case 
    2:
                                    case 
    3:
                                    case 
    4: return $form2;
                                    default: return 
    $form3;
                            }
                    }
    }

    ?>
    Есть много вариантов для применения.

Share This Page

All rights reserved SocEngine.ru ©