Уважаемые all, прошу помощи!
Хочу сделать примерно такое: http://rozetka.com.ua/faq/ (банально с дефолтного проекта сделать парочку статичных страниц и в контенте прилепить боковое меню).
Все получилось, кроме контактов.
Расскажу грубо как приделал боковое меню.
-
папку page переименовал в static (для удобства)
-
в сайт контролере написал:
'static'=>array(
'class'=>'CViewAction',
'layout'=>'static', // определил что мне для моих статичных страниц нужен другой лайоут
),
здесь все отлично, на основе дефолтного проекта и страницы about.php, наделал нужное мне количество страниц
- приведу код моего view/layouts/static.php
<?php $this->beginContent('//layouts/main'); ?>
<div class="container">
<div class="span-19">
<div class="span-5 last">
<div id="sidebar" align="left">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Помощь', 'url'=>'/faq'),
array('label'=>'Доставка и оплата', 'url'=>'/payments-and-deliveries'),
array('label'=>'Гарантия', 'url'=>'/warranty'),
array('label'=>'Контакты', 'url'=>'/contact'),
array('label'=>'О магазине', 'url'=>'/about'),
array('label'=>'Условия использования сайта', 'url'=>'/terms'),
),
)); ?>
</div><!-- sidebar -->
</div>
<div id="content">
<?php echo $content; ?>
</div><!-- content -->
</div>
</div>
<?php $this->endContent(); ?>
получилось как здесь: http://rozetka.com.ua/faq/, боковое меню и контент, все супер!
пытаюсь также туда засунуть contact.php cтраницу, но не получается, как я не танцевал, думал может если в лайоут добавить <?php $this->beginContent(’//layouts/static’); ?> то получится как надо, но получилось что у меня теперь контент в контенте, тоесть 2 шапки 2 футера, а внутри всетаки боковое меню и контакты
в общем не могу понять в чом проблема, что я делаю тут не так?
была идея само боковое меню засунуть в отдельный файл, а из лайоута статики и контактов инклудить это меню, конечно вариант мне не нравится, будет работать конечно, но думаю так не правильно
и еще проблема возникла уже в ходе работы,
напр. есть у меня тоже меню, код которого написал выше, в справке пишет что для формирования тега ‘active’, нужно просто чтобы параметр по Get был в текущем урле, так и есть, напр. зашол урл: http://redbird.te.ua/faq, но актив-стиль не включается почемуто. Работает только если я насильно напишу чтото вроде:
array('label'=>'Помощь', 'url'=>'/faq', 'active'=>'faq'),
шустрый по поиску, но так внятно и не понял, как мне коректно сделать active-стиль, поделитесь примером пожалуйста
возможно здесь понадобится мой урл-менеджер, приведу и его код:
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
//'<controller:\w+>/<id:\d+>'=>'<controller>/view',
//'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
//'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'<_c:(contact|login|logout)>'=>'site/<_c>',
'<_c:(faq|payments-and-deliveries|warranty|about|terms|service-centers)>' =>'site/static/view/<_c>',
),
),
очень надеюсь на вашу помощь, искать умею, с нуля нубского в фреймворке это мой первый вопрос, но вот с этими вопросами не могу разобраться
Спасибо!