Добавить оператор PHP IF внутри динамической таблицы стилей php - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть несколько флажков, которые, когда отмечены, добавляют соответствующие классы к элементу <body> через Ajax:

<input type="checkbox" name="<?php echo $opt;?>" class="onoffswitch-checkbox" id="myonoffswitch-<?php echo $n;?>" value="true"<?php echo (dh_switch_setting_get($opt, '0') == '0' ? "" : " checked='checked'");?> />
<label class="onoffswitch-label" for="myonoffswitch-<?php echo $n;?>" data-class="<?php echo $obj['class'];?>"></label> 

(function($) {
    $(function() {
        $("LABEL[for^=myonoffswitch]")
        .each(function() {
            // ---Which label was clicked? ---
            var which = $(this).attr("for");
            var cls = $(this).data("class");
            if ( $("INPUT[id=" + which + "]").is(":checked") ) {
                $("BODY").addClass(cls);
            } else {
                $("BODY").removeClass(cls);
            }

            $(this).parents(".onoffswitch").on("click", function() {
                if (!$("INPUT[id=" + which + "]").is(":checked")) {
                    $("BODY").addClass(cls);
                } else {
                    $("BODY").removeClass(cls);
                }

                var val = $("INPUT[id=" + which + "]").is(":checked") ? "1" : "0";
                console.info("Set " + which + " to " + val)

                $.ajax({
                    url: './',
                    type: "POST",
                    data: $("INPUT[id=" + which + "]").attr("name") + "=" + val + "&<?php echo MD5("DH");?>=1", 
                    success: function (response) {
                    },
                    error: function (jqXhr, e, responseText) {
                        console.log(arguments);
                        alert("Oops. Something went wrong: " + responseText);
                    }
                });
            });
        });
    });
})(jQuery);

У меня также есть динамическая таблица стилей PHP style.php, как показано ниже:

<?php
header("Content-type: text/css;charset: UTF-8");
require('styles1.php');
require('styles2.php');
require('styles3.php');
?>

Я пытаюсь заставить некоторые операторы IF работать, где, если у тела есть класс, тогда require () указанные стили.

Я пробовал варианты этого,но ничего не работает:

<?php
header("Content-type: text/css;charset: UTF-8");
$classes = get_body_class();
if (in_array('class1',$classes)) {
   require ( 'styles1.php' );
}
if (in_array('class2',$classes)) {
   require ( 'styles2.php' );
}
if (in_array('class3',$classes)) {
   require ( 'styles3.php' );
}
?>

Может кто-нибудь помочь мне здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...