JohnCMS 7.0.0

Тема закрыта
34.1K
.

Koenig, на данный момент там ты ничего интересного для себя, скорее всего, не увидишь. Я скинул Альку ссылку на проект, но думаю ты и так найдешь его, если хорошенько поищешь )

.
(\/)____o_O____(\/)

Delphinum, ты был прав, инфы не больше чем в psr

.
¯\_(ツ)_/¯

Я не силен в php, но мне кажется или время пробытое на сайте покажется только в анкете парней?

echo '<li><span class="gray">' . ($user['sex'] == 'm' ? _t('He stay on the site') : _t('She stay on the site')) . ':</span> ' . $tools->timecount($user['total_on_site']) . '</li>';

Взято из страницы статистики юзера оф архива...
.
╭∩╮ (`-`) ╭∩╮
# PaRtiZzaN (01.02.2017 / 21:58)
Я не силен в php, но мне кажется или время пробытое на сайте покажется только в анкете парней?

echo '<li><span class="gray">' . ($user['sex'] == 'm' ? _t('He stay on the site') : _t('She s
Там тернарный оператор и все нормально, показывается для мужчин одна фраза, а для девушек - другая.
.
# PaRtiZzaN (01.02.2017 / 21:58)
Я не силен в php, но мне кажется или время пробытое на сайте покажется только в анкете парней?

echo '<li><span class="gray">' . ($user['sex'] == 'm' ? _t('He stay on the site') : _t('She s
Нет, там в условии меняется только текст He stay on the site на She stay on the site, а значение метода timecount() выводится не зависимо от этого условия.
.
¯\_(ツ)_/¯

А, все увидел. Не сразу заметил. Код уже сливается -_- Пора спать ложиться.
Пытаюсь сочинить нормальный дизайн для любимого джона

Прикрепленные файлы:
.

PaRtiZzaN, [oftop]
Для более удобного чтения тернарных условий разбивай их на строки таким образом, чтобы для каждой ветви условия была своя строка.
[/oftop]

Например (+/-)
echo '<li><span class="gray">'.
    // Если $user['sex'] равна 'm'
    ($user['sex'] == 'm' 
    // Обработать строку "He stay on the site"
    ? t('He stay on the site') 
    // Иначе обработать строку "She stay on the site"
    : t('She stay on the site')) .
    // Следующая строка в условии не участвует
    // и выводится в браузер
    ':</span> '. $tools->timecount($user['total_on_site']) .'</li>';
.
vladgba

Как вариант:

Код (+/-)
echo '<li><span class="gray">' . 
_t(($user['sex'] == 'm' ? 'He':'She') . ' stay on the site') . ':</span> '. $tools->timecount($user['total_on_site']) . 
'</li>';
.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
# vladgba (04.02.2017 / 10:39)
Как вариант:
echo '<li><span class="gray">' .
_t(($user['sex'] == 'm' ? 'He':'She') . ' stay on the site') . ':</span> '. $tools->timecount($user['total_on_site']) .
'</li>';[/spoiler]
Такой вариант не пойдет.
Не забывай, что мы используем Gettext со всеми его удобствами, в частности автоматическим извлечением фраз из кода и онлайн сервисом по переводу.

Функция _t() у нас прописана как переводчик и все, что у нее внутри (аргумент) считается фразой.
Если ты внутрь функции впихнешь кроме самой фразы что-то еще, то это все при извлечении (к примеру с помощью PoEdit) будет считаться фразой.
Фактически, ты в ОДНУ функцию пытаешься вставить ДВЕ фразы. Как это извлекать и переводить?

Итог: использовать только по отдельности. Функция - фраза.
МОЖНО: В тернарном операторе в каждое условие надо включать отдельную функцию перевода со своей фразой.
НЕЛЬЗЯ: использовать одну функцию перевода, а в ее аргументе применить условие с несколькими фразами
.

alkatraZ,
getex connects to crowndin for translation?

Всего: 740