• Как победить ошибку в MODx Could not set the locale?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Посмотрел свои сайты - те которые на обычном виртуальном хостинге - там все норма. Те которые на VPS там также сыпется. Причина возникновения ошибки и способ решения:
    На сервере, стояла локаль en_US.UTF-8 UTF-8
    Прописал в настойках modx locale en_US.UTF-8 и ошибка ушла
    Что бы использовать ru_RU.UTF-8
    Сгенерировал две локали на сервере
    root@localhost:~# cat /etc/locale.gen | grep -v '#'
    en_US.UTF-8 UTF-8
    ru_RU.UTF-8 UTF-8
    При этом кириллическую локаль поставил основной, и все гуд.
    проверить можно так
    root@localhost:~# echo $LANG

    Если без перенастроек сервера, то ставите локаль en_US.UTF-8, а для вывода дат на русском используете сниппет:
    [[+publishedon:dateRU]]

    Сам код сниппета dateRU:

    <?php
    $month_arr = array(
        '01' => 'Января',
        '02' => 'Февраля',
        '03' => 'Марта',
        '04' => 'Апреля',
        '05' => 'Мая',
        '06' => 'Июня',
        '07' => 'Июля',
        '08' => 'Августа',
        '09' => 'Сентября',
        '10' => 'Октября',
        '11' => 'Ноября',
        '12' => 'Декабря'
    );
    
    $d = $input;
    $month = strftime("%m",$d);
    $year = strftime("%Y",$d);
    $day = strftime("%d",$d);
    $month = $month_arr[$month];
    
    return "$day $month $year";
    ?>


    Если же после форматирования вместо русского формата даты выводится английская, то создайте сниппет setLocale и вставьте код:

    <?php
    setlocale(LC_ALL, "ru_RU.UTF-8");
    ?>


    После вставьте этот сниппет в начало шаблона, где нужно выводить форматирование даты. Если русская дата отображается вопросиками, проверьте кодировку сайта, должна быть такой же как и в базе (желательно использовать UTF-8).
    Ответ написан
    Комментировать
  • Как сделать перенос строки в сообщении от Telegram Bot?

    @devtricks
    sendMessage?chat_id=45311499&text=Первая%20строка.%0AВторая%20строка.
    Этот способ получился у меня.
    Ответ написан
    Комментировать
  • Как отговорить клиента от Битрикса?(1C-Bitrix)?

    А зачем? Хотят на битриксе, выставьте взрослый ценник за битрикс, большая компания, большая стоимость, большой прайс.
    Ответ написан
    2 комментария