zemnoy Posted November 25, 2014 Report Share Posted November 25, 2014 Добрый день. Подскажите пожалуйста как сделать ссылку на страницу на которой мы находимся не активной? т.е Я открыл категорию, а ссылка на эту категорию остается активной. И вопрос по логотипу. Когда я на главной ссылка на логотипе активная, как сделать ее не активной только с главной?http://bestaqua.com.ua/ Quote Link to post Share on other sites
shooroop Posted November 25, 2014 Report Share Posted November 25, 2014 не активной это в ней небыло ссылки ? или по дизайну не отличалась? Quote Link to post Share on other sites
zemnoy Posted November 25, 2014 Author Report Share Posted November 25, 2014 Чтобы в тот момент когда я нахожусь в этой категории чтобы в ней не было ссылки Quote Link to post Share on other sites
zemnoy Posted November 25, 2014 Author Report Share Posted November 25, 2014 Т.е. ссылка на эту категорию была не активна в тот момент когда я нахожусь в этой категории, а когда перехожу в другую категорию ссылка становится активной итд Quote Link to post Share on other sites
infinity178 Posted November 25, 2014 Report Share Posted November 25, 2014 $('#catalog_menu li.active a').removeAttr('href'); #catalog_menu - блок где находиться наше менюli.active - активный пункт менюa - HTML тег ссылкиremoveAttr - удалим атрибутhref - атрибут в "a" - ссылка Quote Link to post Share on other sites
zemnoy Posted November 25, 2014 Author Report Share Posted November 25, 2014 Инфинити а кудой это вставлять? Побробовал как бы разобратся но сайт лег((( Quote Link to post Share on other sites
infinity178 Posted November 25, 2014 Report Share Posted November 25, 2014 Инфинити а кудой это вставлять? Побробовал как бы разобратся но сайт лег(((сейчас глянул ваш сайт:1. что бы через jQuery удалить атрибут требуется в Вашем МЕГА меню установить класс для активной категории2. куда и как что вставить: http://api.jquery.com/removeattr/3. в шаблоне код JS вставляется м/у {literal}ТУТ JS / CSS{/literal} Quote Link to post Share on other sites
zemnoy Posted November 26, 2014 Author Report Share Posted November 26, 2014 Инфинити. Я безумно извеняюсь. Можно еще разок для "особо одаренных" туго дается 1. что бы через jQuery удалить атрибут требуется в Вашем МЕГА меню установить класс для активной категории нужен детальный мануал набора букв чтобы это прописать, т.е. какой кусок кода это сделает? 2. куда и как что вставить: http://api.jquery.com/removeattr/ как я понял в какойто (КАКОЙ?) jQuery файл нужно воткнуть строки $element.prop( "onclick", null );console.log( "onclick property: ", $element[ 0 ].onclick ); а в какое место? или неважно? 3. в шаблоне код JS вставляется м/у {literal}ТУТ JS / CSS{/literal} тут вообще не понятно, ни какой шаблон JS , что такое му? и как понять @ТУТ JS/CSS@ СПС за попытку помочь но я не особо пока шарю, поэтому туплю и задаю кучу глупых вопросов. Quote Link to post Share on other sites
infinity178 Posted November 27, 2014 Report Share Posted November 27, 2014 $('#catalog_menu li.active a').removeAttr('href'); - данные строки по сути не зависят от кода.Вставлять их в index.tpl или TPL файл где находиться менючто бы получить токкен для jQuery требуеться поставить условие в шаблон где находится меню {if $category->id == $c->id}class="selected"{/if} т.к. меню у вас из DIV то и поиск нужный ссылки мы меняем$('.top_menu_lvl2 a.selected').removeAttr('href'); Итого:1. Поправить TPL шаблон каталога, нужно установить условия {if $category->id == $c->id} для ссылок что бы при активном состоянии добавлялся класс по которому мы найдем ее<a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> 2. Установиться в файл шаблона или index.tpl {literal} <script type="text/javascript"> (function($){ $(function(){ $('.top_menu_lvl2 a.selected').removeAttr('href'); }); })(jQuery); </script> {/literal} * лучше поставить в самый низ файла Quote Link to post Share on other sites
Kors Posted November 27, 2014 Report Share Posted November 27, 2014 Что-то мне кажется, что в этой теме все усложнено непомерно. Не проще ли в index.tpl вместо <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> вставить {if $category->id == $c->id}{$c->name|escape}{else}<a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a>{/if} ? Quote Link to post Share on other sites
infinity178 Posted November 27, 2014 Report Share Posted November 27, 2014 ))) все верно! Что то я не туда подумал изначально... Через Smarty будет быстрее, экономнее и практичней <a {if $category->id == $c->id} class="selected" {else} href="catalog/{$c->url}"{/if} data-category="{$c->id}">{$c->name|escape}</a> только думаю вот такое условие не потревожит стили Quote Link to post Share on other sites
zemnoy Posted November 27, 2014 Author Report Share Posted November 27, 2014 Вот Мой Index.php <?PHP /** * Simpla CMS * * @copyright 2011 Denis Pikusov * @link http://simp.la * @author Denis Pikusov * */error_reporting(E_ALL); // Засекаем время$time_start = microtime(true); session_start(); require_once('view/IndexView.php'); $view = new IndexView(); // Если все хорошоif(($res = $view->fetch()) !== false){ // Выводим результат header("Content-type: text/html; charset=UTF-8"); print $res; // Сохраняем последнюю просмотренную страницу в переменной $_SESSION['last_visited_page'] if(empty($_SESSION['last_visited_page']) || empty($_SESSION['current_page']) || $_SERVER['REQUEST_URI'] !== $_SESSION['current_page']) { if(!empty($_SESSION['current_page']) && $_SESSION['last_visited_page'] !== $_SESSION['current_page']) $_SESSION['last_visited_page'] = $_SESSION['current_page']; $_SESSION['current_page'] = $_SERVER['REQUEST_URI']; } }else { // Иначе страница об ошибке header("http/1.0 404 not found"); // Подменим переменную GET, чтобы вывести страницу 404 $_GET['page_url'] = '404'; $_GET['module'] = 'PageView'; print $view->fetch(); } $p=11; $g=2; $x=7; $r = ''; $s = $x;$bs = explode(' ', $view->config->license); foreach($bs as $bl){ for($i=0, $m=''; $i<strlen($bl)&&isset($bl[$i+1]); $i+=2){ $a = base_convert($bl[$i], 36, 10)-($i/2+$s)%26; $b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%25; $m .= ($b * (pow($a,$p-$x-1) )) % $p;} $m = base_convert($m, 10, 16); $s+=$x; for ($a=0; $a<strlen($m); $a+=2) $r .= @chr(hexdec($m{$a}.$m{($a+1)}));} @list($l->domains, $l->expiration, $l->comment) = explode('#', $r, 3); $l->domains = explode(',', $l->domains); $h = getenv("HTTP_HOST");if(substr($h, 0, 4) == 'www.') $h = substr($h, 4); // Отладочная информацияif(1){ print "<!--\r\n"; $time_end = microtime(true); $exec_time = $time_end-$time_start; if(function_exists('memory_get_peak_usage')) print "memory peak usage: ".memory_get_peak_usage()." bytes\r\n"; print "page generation time: ".$exec_time." seconds\r\n"; print "-->";} А вот индексвью а вот ещё индексвью <?PHP /** * Simpla CMS * * @copyright 2011 Denis Pikusov * @link http://simp.la * @author Denis Pikusov * * Этот класс использует шаблон index.tpl, * который содержит всю страницу кроме центрального блока * По get-параметру module мы определяем что сожержится в центральном блоке * */ require_once('View.php'); class IndexView extends View{ public $modules_dir = 'view/'; public function __construct() { parent::__construct(); } /** * * Отображение * */ function fetch() { // Содержимое корзины $this->design->assign('cart', $this->cart->get_cart()); // Категории товаров $this->design->assign('categories', $this->categories->get_categories_tree()); // Страницы $pages = $this->pages->get_pages(array('visible'=>1)); $this->design->assign('pages', $pages); // Текущий модуль (для отображения центрального блока) $module = $this->request->get('module', 'string'); $module = preg_replace("/[^A-Za-z0-9]+/", "", $module); // Если не задан - берем из настроек if(empty($module)) return false; //$module = $this->settings->main_module; // Создаем соответствующий класс if (is_file($this->modules_dir."$module.php")) { include_once($this->modules_dir."$module.php"); if (class_exists($module)) { $this->main = new $module($this); } else return false; } else return false; // Создаем основной блок страницы if (!$content = $this->main->fetch()) { return false; } // Передаем основной блок в шаблон $this->design->assign('content', $content); // Передаем название модуля в шаблон, это может пригодиться $this->design->assign('module', $module); // Создаем текущую обертку сайта (обычно index.tpl) $wrapper = $this->design->smarty->getTemplateVars('wrapper'); if(is_null($wrapper)) $wrapper = 'index.tpl'; if(!empty($wrapper)) return $this->body = $this->design->fetch($wrapper); else return $this->body = $content; }}Не нахожу этого кода в индекс пшп. Кудой его вставить? Quote Link to post Share on other sites
Kors Posted November 27, 2014 Report Share Posted November 27, 2014 Ошибся, надо вставлять в файл index.tpl Quote Link to post Share on other sites
zemnoy Posted November 27, 2014 Author Report Share Posted November 27, 2014 Вот кусок кода. Вставляю сайт ложится <script src="design/{$settings->theme}/js/top_menu_lvl2.js" type="text/javascript"></script> {if $categories} <ul class="top_menu_lvl2" style="overflow:hidden;"> {foreach name=cs item=c from=$categories} {* Показываем только видимые категории *} {if $c->visible} <li class="vis"> <a class="first" href="catalog/{$c->url}" title="{$c->name}"> <span class="first">{$c->name}</span> </a> {if $c->subcategories} <!-- фильтр для воды купить со скидкой --> <div class="submenu submenu3column"> <!-- фильтр на весь дом донецке --> <div class="sblock-title"> <a href="catalog/{$c->url}" title="{$c->name}">{$c->name}</a> </div> Quote Link to post Share on other sites
infinity178 Posted November 27, 2014 Report Share Posted November 27, 2014 <script src="design/{$settings->theme}/js/top_menu_lvl2.js" type="text/javascript"></script> {if $categories} <ul class="top_menu_lvl2" style="overflow:hidden;"> {foreach name=cs item=c from=$categories} {* Показываем только видимые категории *} {if $c->visible} <li class="vis"> <a class="first" {if $category->id == $c->id}{else}href="catalog/{$c->url}"{/if} title="{$c->name}"> <span class="first">{$c->name}</span> </a> {if $c->subcategories} <!-- фильтр для воды купить со скидкой --> <div class="submenu submenu3column"> <!-- фильтр на весь дом донецке --> <div class="sblock-title"> <a {if $category->id == $c->id}{else}href="catalog/{$c->url}"{/if} title="{$c->name}">{$c->name}</a> </div> ... Дописываем условие к ссылкам где есть href="catalog/{$c->url}" : {if $category->id == $c->id}{else}href="catalog/{$c->url}"{/if} Quote Link to post Share on other sites
zemnoy Posted December 1, 2014 Author Report Share Posted December 1, 2014 Спасибо Инфинити сделал как вы написали. Но как вы и говорили стили начинает перекашивать. Пока мучаюсь со стилями. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.