Измените style.css, изменив язык в php

Кто-нибудь знает, как использовать условие в CSS?

Я использую PHP-скрипт. Дело в том, что у меня есть 4 файла с именами style.css, style-rtl.css, bootstrap.min.css, bootstrap-rtl.min.css, которые иногда могут быть на языке RTL.

Поэтому мне нужен какой-то PHP-код или любое другое решение, которое может определить, является ли язык Ar, и установить направление на RTL с помощью стиль-rtl.css и bootstrap-rtl.min.css, иначе язык - это En, установите направление на LTR и используйте style.css и bootstrap.min.css.

Вот код header.php:

<!-- Bootstrap core CSS -->
    <link href = "<?php echo $this->config["url"] ?>/static/css/bootstrap.min.css" rel = "stylesheet">
    <link href = "<?php echo $this->config["url"] ?>/static/css/bootstrap-rtl.min.css" rel = "stylesheet">
<!-- Component CSS -->
    <link rel = "stylesheet" type = "text/css" href = "<?php echo $this->config["url"] ?>/themes/<?php echo $this->config["theme"] ?>/style.css">
    <link rel = "stylesheet" type = "text/css" href = "<?php echo $this->config["url"] ?>/themes/<?php echo $this->config["theme"] ?>/style-rtl.css">
    <link rel = "stylesheet" type = "text/css" href = "<?php echo $this->config["url"] ?>/static/css/components.min.css">

Определить язык откуда? Разве вы не сохраняете язык вместе с контентом в своей базе данных?

fubar 14.11.2018 06:29

Итак, вы хотите управлять css и начальной загрузкой в ​​соответствии с языком пользователя ...

Shivam Arora 14.11.2018 06:30

этот сценарий является многоязычным, но не многостильным, и язык меняется с помощью этого тега в конце домена "/? lang = en" и "/? lang = ar"

Arash 14.11.2018 06:36
<link href = "bootstrap<?php echo ($_GET['lang'] == 'ar') ? '-rtl' : '' ?>.min.css">
azeós 14.11.2018 06:44

@ azeós не работает :(

Arash 14.11.2018 06:53

@ShivamArora да

Arash 14.11.2018 06:53

Вы добавляли ?lang=ar в URL? Какой href достался?

azeós 14.11.2018 06:54

@ azeós да, добавьте свой код в нижнюю часть заголовка моих кодов и загрузите URL-адрес с помощью? lang = ar, но стиль rtl не загружается

Arash 14.11.2018 07:00

Для ясности, это полный код: <link href = "<?php echo $this->config["url"] ?>/static/css/bootstrap<?php echo ($_GET['lang'] == 'ar') ? '-rtl' : '' ?>.min.css" rel = "stylesheet">. Используйте это вместо двух ссылок Bootstrap, которые у вас есть, и сделайте то же самое с style.css. Или нужно одновременно включить LTR и RTL?

azeós 14.11.2018 07:04

@ azeós, спасибо, твой код отличный,

Arash 14.11.2018 07:17

@ azeós Думаю, проблема заключалась в замене мной кодов

Arash 14.11.2018 07:18

Проверьте, что будет, если нет ?lang, возможно, вам нужно проверить, есть ли isset($_GET['lang']).

azeós 14.11.2018 07:20

на домашней странице правильно, но при переходе на другую страницу без ?lang загружается ltr.css

Arash 14.11.2018 07:24

теперь вы можете добавить isset($_GET['lang']) с if и else для правильной загрузки css на другой странице без ?lang ??

Arash 14.11.2018 07:27
"На главной странице правильно, но когда идет на другую страницу без? Lang ltr.css загружается" - да, очевидно, это не сработает, если этот параметр отсутствует в URL. Если вашей системе удается по-прежнему отображать контент на правильном языке на этих других страницах, то она должна хранить информацию где-то после того, как первая страница была вызвана с этим параметром - в файле cookie, сеансе ... Это ваш сайт, поэтому вы должен знать.
misorude 14.11.2018 09:15
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
15
393
1

Ответы 1

я решил эту проблему с помощью:

    <?PHP
if (isset($_SESSION['lang']))
{
    switch($_SESSION['lang']):
    case 'eng':
        // LTR Style
        ?>
        <link href = "<?php echo $this->config["url"] ?>/static/css/bootstrap.min.css" rel = "stylesheet">
        <link rel = "stylesheet" type = "text/css" href = "<?php echo $this->config["url"] ?>/themes/<?php echo $this->config["theme"] ?>/style.css">
        <?PHP
    break;
    case 'ar':
        // RTL Style
        ?>
        <link href = "<?php echo $this->config["url"] ?>/static/css/bootstrap-rtl.min.css" rel = "stylesheet">
        <link rel = "stylesheet" type = "text/css" href = "<?php echo $this->config["url"] ?>/themes/<?php echo $this->config["theme"] ?>/style-rtl.css">    
        <?PHP

    break;
    default:
        ?>
        <link href = "<?php echo $this->config["url"] ?>/static/css/bootstrap.min.css" rel = "stylesheet">
        <link rel = "stylesheet" type = "text/css" href = "<?php echo $this->config["url"] ?>/themes/<?php echo $this->config["theme"] ?>/style.css">
        <?PHP
    endswitch;
}
?>

Другие вопросы по теме