Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Ответить
1 2

Как реализуются активные кнопки?

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#11
ну тогда можно вообще пойти простым путем. Это конечно некие костыли, зато работать будет на УРА. В модуле новостей в экшенах index, category и section найти участок где формируется список категорий и там проверять, если в данный момент мы в одной из них, то добавляем стиль "active"

Пример
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
<?php //формируем блок со списком  разделов
if ($this->cached && $this->Cache->check('category_' $this->cacheKey)) {
    
$this->categories $this->Cache->read('category_' $this->cacheKey);
} else {
    
$sql_cat $this->DB->select('news_sections'DB_ALL, array('cond' => array('class' => 'category''section_id' => $id)));
    
//выводим поочередно все разделы, каждый с новой строки(формируем список)
    
foreach ($sql_cat as $result) {
        
$css_klass = ($id == $result['id']) ? ' class="active"' '';
        
$this->categories .= '<li' $css_klass '>' get_link($result['title'], '/news/category/'.$result['id']) . '</li>';
    }
    if (
$this->cached)
        
$this->Cache->write($this->categories'category_' $this->cacheKey, array('module_news''category_block'));
}
?>

Добавлено2011.06.07 11-48

типа этого. Только этот кусок из экшена "section" и по этому у нас есть чудо-переменная $id. В экшене "category" она тоже должна быть, только надо ее найти(я уже не помню и пока нет времени смотреть). Там вроде все очень просто.

Добавлено2011.06.07 11-48

ЗЫ: к стати, это не список секций, а список категорий, но смысл я думаю понятен.

Отредактировано автором 7 Июн 2011
Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#12
Цитата
Обычно это делается джавой или пхп, как удобнее. Просто проверяешь текущую страницу и подсвечиваешь нужную ссылку. Что то типа

1
2
3
4
5
<?php if ($page == 'login') {
echo <a class="active">
} else {
echo <a>
}?>

Добавлено2011.06.06 19-17

в фапосе, так как мы можем сделать основной файл шаблона разный для каждого модуля, это можно сделать, создав для каждого модуля свой основной шаблон. Эти шаблоны будут одинаковые(можно и разные), с одним отличием - в каждом будет меню и в этом меню ссылка на этот же модуль будет выделена. Надеюсь понятно выразился)

Добавлено2011.06.06 19-19

ARMI пишет:
Именно это я и имел ввиду. Это нужно для красоты) для чего же еще)
просто мне показалось, что Атер имел виду другое.

Например при переходе на страницу "Авторизация" что бы ссылка на эту страницу была подсвечена, как бы говоря пользователю, что в данный момент он на этой странице)

Нахрена нужен геморой с джаваскриптом и пыхой, если прописать можно 1 строчку и не париться?

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#13
skad0 пишет:
Нахрена нужен геморой с джаваскриптом и пыхой, если прописать можно 1 строчку и не париться?

и этой строчкой будет?

уж сразу бы договаривал бы...

Добавлено2011.06.09 13-54

в конечном итоге сделал джава скриптами как тут написано http://fromgomel.com/index.php?module=articles&c=articles&b=6&a=9

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#14
skad0, что то ты не то говоришь.... Или я чего-то не знаю?

Добавлено2011.06.09 22-19

Ater, ну вот и нашлось решение)

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#15
только я там не оч втыкнул каким же образом скрипт ищет ID которое в котором необходимо вставлять, или просто в этом примере ID не определено и оно ищет первое попавшееся?

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#16
я в скрипт тоже особо не втыкал)) Главное что работает.

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)
1 2
Сейчас online: 198. Зарегистрированных: 0. Гостей: 198.