1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Уважаемый Гость! Если вы зарегистрировались на нашем форуме, значит вам нужна помощь! Мы всегда рады вам помочь, еще ни один пользователь не получил отказа! Но мы так же нуждаемся в Вашей поддержке. Проект полностью бесплатный, мы не имеем права требовать от вас денег, нам это и не нужно! Но от любой финансовой поддержки не откажемся. Проект развивается, но иногда очень тяжело его поддерживать, особенно в финансовом отношении. Если у вас есть возможность поддержать нас финансово, мы будем вам очень благодарны! С уважением, команда Оскласс Россия!
    Скрыть объявление
  3. Изменение в правилах форума! В связи с огромным количеством вопросов поступающих в адрес технической поддержки мы решили изменить правила форума! Просим всех пользователей обратить внимание на данные изменения и четко их соблюдать!
    Скрыть объявление
  4. Ребята, нуждаемся в программистах! Если хотите зарабатывать и есть время, пишите администраторам сайта. Есть база и инструменты, нужен опыт и знания =)
    Скрыть объявление
  5. Уважаемые пользователи! На форуме появились разделы по работе с системой Yclas. Yclas - это скрипт доски объявлений. Нужны разработчики.
    Скрыть объявление

Вставка своего контента в страницу двуязычного сайта

Тема в разделе "Общие вопросы по Osclass, Yclas", создана пользователем passer, 21 фев 2020.

  1. passer

    passer Новичок

    Доброго времени суток, друзья!
    OSCLASS 3.8.1. Сайт на двух языках.
    Необходимо вставить на главную страницу некий html-контент.
    Для одноязычного сайта эта задача не представляет труда:
    • или внести контент непосредственно в файл main.php;
    • или с помощью выражения include вставить в main.php файл с контентом.
    А вот для мультиязычного сайта у меня не хватает знаний PHP для написания функции, позволяющей менять контент в зависимости от выбора языка.
    Я создал два файла: insert-ru.php и insert-eng.php, на соответствующих языках.
    Очень прошу помочь в написании функции локализации, так как вот уже почти шесть часов "танцую с бубном", пытаясь методом "научного тыка" заинклюдить эти два файла в main.php, но в ответ получаю лишь: Parse error: syntax error, unexpected...
     
  2. administrator

    administrator Блудный сын. Команда форума

    Можно самым простым способом вывести в main.php:
    PHP:
    <?php if( osc_locale_code(),) { ?>
        <p>Текст на Русском</p>
    <?php } else { ?>
        <p>Текст на Английском</p>
    <?php ?>
    Или написать функцию, более сложный вариант. Проработаю и выложу решение, так сходу не смогу расписать.
     
  3. administrator

    administrator Блудный сын. Команда форума

    А вообще можно использовать виджеты, в оскласс неплохо реализована работа виджетов. Разработчики шаблонов не часто их используют. Почитайте на форуме материалы вывода виджетов, а для примера возьмите шаблон Бендер.
     
  4. passer

    passer Новичок

    Увы: вставил и получил: Parse error: syntax error, unexpected ',' in D:\OpenServer\OSPanel\domains\hah\oc-content\themes\osclasswizards\main.php on line 106
     
  5. passer

    passer Новичок

    Это - первое, что я пробовал сделать!
    "Отставил в сторону", так как виджет появлялся на каждой странице. Не сообразил, что, наверно, можно использовать формулу типа "только на этой странице".
    Правда, не знаю, как эту формулу реализовать...
     
  6. administrator

    administrator Блудный сын. Команда форума

    Сорри! Немного неверно написал. Попробуйте вот такую комбинацию:
    PHP:
    <?php if( (osc_locale_code(),1) ) { ?>
        <p>Текст на Русском</p>
    <?php } else { ?>
        <p>Текст на Английском</p>
    <?php ?>
    Чтобы не писать бред, давайте оставим до вечера, буду посвободнее реализуем через модификацию.
     
  7. administrator

    administrator Блудный сын. Команда форума

    Все верно, нужно выводить через код и отключить вывод на других страницах, опять же через функцию.
     
  8. passer

    passer Новичок

    Я спал всего три часа, поэтому плохо сейчас вижу и соображаю, но мне кажется, что второй вариант вставки в main.php - точная копия первого (и результат, естественно, такой же).
    Что касается использования виджетов - тут опять проблема с мультиязычностью...
    Однако, огромное Вам спасибо за заботу и оперативность!!!
    Буду ждать вечера!
     
  9. administrator

    administrator Блудный сын. Команда форума

    Идите отдохните =))
    Достаточно простой вариант реализации, должно работать.
     
  10. passer

    passer Новичок

    Добрый день!
    Так и не удается мне до сих пор самому решить задачу...
    Попробовал использовать возможности Poedit, я имею в виду вставку в нужное место страницы выражения типа <?php _e('xxxxx', ПАПКА_МОЕЙ_ТЕМЫ); ?> - работает. Но это если переводимое содержание очень простое - слово, или предложение. А если используется html-конструкция со сложным форматированием - встроенный в Poedit редактор интерпретирует ее по своему, и получается не то, что нужно... Да и вообще, это вариант типа "лечить гланды через задний проход"...
     
  11. passer

    passer Новичок

    Гип-гип УРА!!!
    Наконец-то "родил" вариант вставки собственного контента на страницу двуязычного сайта!
    Принцип такой:
    <?php
    if (osc_current_user_locale() == 'ru_RU' ) {
    echo "Русский язык";
    } else {
    echo "Второй язык";
    }
    ?>

    А если нужно вставлять сложный контент - создается два файла на разных языках , и выражение выглядит так:


    <?php
    if (osc_current_user_locale() == 'ru_RU' ) {
    include 'my-ru.php';
    } else {
    include 'my-ХХ.php';
    }
    ?>

    Не претендую на оригинальность и абсолютную правильность - но работает!!!
     
    administrator нравится это.
  12. administrator

    administrator Блудный сын. Команда форума

    Собственно вам это и писали, только более сложным механизмом. Но работать будет и так.
    Молодец!
     
Загрузка...

Поделиться этой страницей