Евгений писал(а):...когда есть условие {if $is_mobile == false || $is_tablet == true}, то в мобильной версии ... код из desktop_categories.tpl должен отсутствовать, а он есть...
Ничего подобного. Если условие ЕСТЬ, это ничего не значит, и ничего такого быть не должно. Вот если условие ВЫПОЛНЯЕТСЯ (НЕ ВЫПОЛНЯЕТСЯ), тогда что-то должно быть согласно значению условия.
Похоже, что Вы не озаботились проверкой значения оного условия. Особенно в такой сложной ситуации
Евгений писал(а):...код проверялся в браузере в средствах разработчика и был выбран режим мобильных устройств...
когда реально одно устройство пытается выдать себя за другое.