Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

класс для активоной ссылки

Добрый день, подскажите плз где и какие нужно внести изменения в /themes/default/source/boxes/information.php  , что бы присвоить активной ссылке (меню {$BOX_CONTENT})  класс для изменения цвета и тп.


<span class="any">{$BOX_CONTENT}</span>

.any a {color:red;}
.any a:hover {color:green;}


Спасибо за ответ, но я другое имел ввиду, мне нужно что бы ссылка при нажатии меняла допустим цвет, отличный от других. а hover мне не нужен.


http://htmlbook.ru/css/


Я в курсе что есть такой сайт, мы походу дела не понимаем друг друга...Попробую ещё раз оъяснить.
Есть файл: /themes/default/source/boxes/information.php

<?php
/*
#####################################
# ShopOS: Ñêðèïòû èíòåðíåò-ìàãàçèíà
#  Copyright (c) 2008-2010
# http://www.shopos.ru
# Ver. 1.0.1
#####################################
*/

$box = new osTemplate;
$content_string = '';

$box->assign('language', $_SESSION['language']);
// set cache ID
if (!CacheCheck()) {
    $cache=false;
    $box->caching = 0;
} else {
    $cache=true;
    $box->caching = 1;
    $box->cache_lifetime = CACHE_LIFETIME;
    $box->cache_modified_check = CACHE_CHECK;
    $cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_id'];
}

if (!$box->is_cached(CURRENT_TEMPLATE.'/boxes/box_information.html', @$cache_id) || !$cache) {
    $box->assign('tpl_path', _HTTP_THEMES_C);

    if (GROUP_CHECK == 'true') {
        $group_check = "and group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'";
    }

    $content_query = "SELECT
                        content_id,
                        categories_id,
                        parent_id,
                        content_title,
                        content_url,
                        content_group
                        FROM ".TABLE_CONTENT_MANAGER."
                        WHERE languages_id='".(int) $_SESSION['languages_id']."'
                        and file_flag=0 ".$group_check." and content_status=1 order by sort_order";

    $content_query = osDBquery($content_query);

    while ($content_data = os_db_fetch_array($content_query, true)) {
        $SEF_parameter = '';
        if (SEARCH_ENGINE_FRIENDLY_URLS == 'true')
            $SEF_parameter = '&product='.os_cleanName($content_data['content_title']);

if ($content_data['content_url'] != '') {
    $link = '<a class="content" href="'.$content_data['content_url'].'" target="_blank">';
} else {
    $link = '<a class="content" href="'.os_href_link(FILENAME_CONTENT, 'coID='.$content_data['content_group'].$SEF_parameter).'">';
}

        $content_string .= $link.$content_data['content_title'].'</a><br />' . "\n";
    }

    if ($content_string != '')
        $box->assign('BOX_CONTENT', $content_string);

}

if (!$cache) {
    $box_information = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_information.html');
} else {
    $box_information = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_information.html', $cache_id);
}

$osTemplate->assign('box_INFORMATION', $box_information);
?>


Вот код который отвечает за вывод ссылки:
if ($content_data['content_url'] != '') {
    $link = '<a class="content" href="'.$content_data['content_url'].'" target="_blank">';
} else {
    $link = '<a class="content" href="'.os_href_link(FILENAME_CONTENT, 'coID='.$content_data['content_group'].$SEF_parameter).'">';
}


Интересует что надо изменить/добавить, что бы было типа <a class="content" id="_active">





А. Вот оно че. Да не понял что нужно)
Сейчас попробую реализовать)


Спасибочки)))


if ($content_data['content_url'] != '') {
$link = '<a class="content" href="'.$content_data['content_url'].'" target="_blank">';
} else {
$link = '<a class="content" href="'.os_href_link(FILENAME_CONTENT, 'coID='.$content_data['content_group'].$SEF_parameter).'">';
}


Заменить на

if ($content_data['content_url'] != '') {
$link = '<a class="content" href="'.$content_data['content_url'].'" target="_blank">';
} else {
if (strstr($PHP_SELF, FILENAME_CONTENT) && isset($_GET['coID']) && $_GET['coID'] == $content_data['content_id'])  {
$link = '<a class="content active" href="'.os_href_link(FILENAME_CONTENT, 'coID='.$content_data['content_group'].$SEF_parameter).'">';
} else {
$link = '<a class="content" href="'.os_href_link(FILENAME_CONTENT, 'coID='.$content_data['content_group'].$SEF_parameter).'">';

}
}


Вроде работает. id или class уже сами поставьте как надо.


как оно будет с ЧПУ - не проверял.


Спасибо большое, буду пробывать=)


Такой вопрос -
А можно проверять активность ссылки не по параметру coID ??
А то в случае названия страниц без оного ничего не работает конечно же... может кто поможет?
Спасибо.



Такой вопрос -
А можно проверять активность ссылки не по параметру coID ??
А то в случае названия страниц без оного ничего не работает конечно же... может кто поможет?
Спасибо.

ID обязателен и его всегда можно получить через $_GET


т.е. активной ссылке никак нельзя присвоить класс и выделить ее?....отлично... ::)


ну как нельзя. можно.
с ЧПУ или без $_GET['coID'] вернет ID страницы. Вот и выделяйте ее.


Хм...не понял.. а каким образом выделить ID страницы, когда например меню в боксе имеет следующий вид:

<ul class="box-menu">
<li><a class="content" href="arenda.html" >Аренда</a></li>
<li><a class="content" href="prodvizhenie.html" >Продвижение</a></li>
<li><a class="content" href="gotovie-dizajni.html" >Готовые дизайны</a></li>
</ul>


Что-то я правда не совсем понимаю...)) Если что прошу прощения...


но так ведь у каждой страницы есть ID. Посмотрите ID в настройках страницы и его используйте.
ID всегда вписывается вручную при создании страницы


Туплю я несколько наверное, спасибо...)


Источник



Copyright ShopOS