Я использую плагин карусели, который зависит от jQueryUI. Чтобы загрузить его, я просто использую Загрузить дополнение jQueryUI из магазина.
Изменить. Точнее. Что происходит:
A. когда problematic.js
загружается напрямую - без if
: карусель не работает, когда пользователь залогинен и содержимое верхней панели ("Edit", "Dashboard") исчезает, так что даже невозможно перейти в режим редактирования
B. когда problematic.js
загружается с таким условием:
if (!$c->isEditMode()){ ?>
<script type="text/javascript" src="problematic.js"></script>
<?php } ?>
точно так же, как указано выше: карусель не работает, когда пользователь вошел в систему, а содержимое верхней панели («Правка», «Панель инструментов») исчезает, поэтому даже невозможно перейти в режим редактирования.
C. когда problematic.js
загружается с таким условием:
<?php $u = new User();
if (!$u->isRegistered()){ ?>
<script type="text/javascript" src="problematic.js"></script>
<?php } ?>
содержимое верхней панели присутствует, можно перевести страницу в режим редактирования, но очевидно, что файл js не выполняется, когда пользователь входит в систему.
Однако это не то, что мне нужно - я хочу, чтобы мой скрипт работал, когда:
- пользователь не зарегистрирован,
- пользователь вошел на веб-сайт, но страница НЕ находится в режиме редактирования.
Я хочу, чтобы скрипт НЕ выполнялся, когда страница находится ТОЛЬКО в режиме редактирования.
Как мне этого добиться?
Изменить: вот часть кода PHP/HTML:
<?php
defined('C5_EXECUTE') or die(_('Access Denied.'));
?>
<!DOCTYPE html>
<html>
<head>
<?php Loader::element('header_required');?>
<script type="text/javascript" src="<?php print $this->getThemePath(); ?>/js/respond.min.js"></script>
<script type="text/javascript" src="<?php print $this->getThemePath(); ?>/js/jquery.ui.rcarousel.min.js"></script>
<?php $u = new User();
if (!$u->isRegistered()){ ?>
<!-- To prevent conflicts with C5 jQuery UI when in edit mode -->
<script type="text/javascript" src="<?php print $this->getThemePath(); ?>/js/home.js"></script>
<?php } ?>
<link rel='stylesheet' type='text/css' href="<?php print $this->getStyleSheet('css/style.css'); ?>" />
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1' />
</head>
<body <?php if ($c->isEditMode()) { ?> class='editmode' <?php } ?>>
<div class='c5wrapper'>
<div id='container'>
<div id='content-promo' class='content-promo full-width'>
<div id='carousel-wrapper' class='content-promo carousel-wrapper'>
<?php
$a = new Area('Carousel');
$a->display($c);
?>
</div> <!-- End of carousel wrapper -->
<a href='#' id='ui-carousel-prev' class='carousel-controls'><span class='carousel-control-text'>Prev</span></a>
<a href='#' id='ui-carousel-next' class='carousel-controls'><span class='carousel-control-text'>Next</span></a>
</div> <!-- End of content promo -->
<?php $this->inc('elements/footer.php'); ?>