Jump to content

Как сделать ссылку на страницу на которой мы находимся не активной?


Recommended Posts

 Добрый день. Подскажите пожалуйста как сделать ссылку на страницу на которой мы находимся не активной? т.е Я открыл категорию, а ссылка на эту категорию остается активной. 

 И вопрос по логотипу. Когда я на главной ссылка на логотипе активная, как сделать ее не активной только с главной?

http://bestaqua.com.ua/ 

 

Link to post
Share on other sites

Т.е. ссылка на эту категорию была не активна в тот момент когда я нахожусь в этой категории, а когда перехожу в другую категорию ссылка становится активной итд

Link to post
Share on other sites

Инфинити а кудой это вставлять? Побробовал как бы разобратся но сайт лег(((

сейчас глянул ваш сайт:

1. что бы через jQuery удалить атрибут требуется в Вашем МЕГА меню установить класс для активной категории

2. куда и как что вставить: http://api.jquery.com/removeattr/

3. в шаблоне код JS вставляется м/у {literal}ТУТ JS / CSS{/literal}

Link to post
Share on other sites

Инфинити. Я безумно извеняюсь. Можно еще разок для "особо одаренных" туго дается

 

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@
 
СПС за попытку помочь но я не особо пока шарю, поэтому туплю и задаю кучу глупых вопросов.
Link to post
Share on other sites

:)

$('#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}

* лучше поставить  в самый низ файла 

Link to post
Share on other sites

Что-то мне кажется, что в этой теме все усложнено непомерно.

 

Не проще ли в 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}

 

?

Link to post
Share on other sites

))) все верно! Что то я не туда подумал изначально... Через Smarty будет быстрее, экономнее и практичней

<a {if $category->id == $c->id} class="selected" {else} href="catalog/{$c->url}"{/if}  data-category="{$c->id}">{$c->name|escape}</a>

только думаю вот такое условие не потревожит стили 

Link to post
Share on other sites

Вот Мой 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;
 
 }
}

Не нахожу этого кода в индекс пшп. Кудой его вставить?

Link to post
Share on other sites
Вот кусок кода. Вставляю сайт ложится

 

<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>

Link to post
Share on other sites

 

<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}
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...