2014-06-26 51 views
1

我想只在主頁上隱藏課程。Joomla 3:在主頁上隱藏課程

<div class="search-wrapper"> 

.search-wrapper { 
    background: none repeat scroll 0 0 #3d4895; 
    height: 50px; 
    margin-top: 10px; 
    width: 100%; 
} 

所以這必須顯示在所有頁面上。除了主頁。我只是無法得到這個權利。

我已經創建了HOME PAGE菜單項來擁有一個頁面類,但是仍然不能在主頁上僅定位.seacrh-wrapper。

+0

是否是seacrh-wrapper項目類中的內容? –

+0

難道你不能只是在默認頁面中包裝該版本的div? – Elin

回答

0

你必須使用jQuery的,使用以下行:

//Here you check if the user is on the homepage 
$app = JFactory::getApplication(); 
$menu = $app->getMenu(); 
if ($menu->getActive() == $menu->getDefault()) { 
    //This line makes it hide the class 
    $('.search-wrapper').css('display','none'); 
} 
+0

你有混合的PHP和jQuery,並不是所有的Joomla網站都使用jQuery。這不起作用。 –

+0

@Richard B謝謝你的確,我與joomla和普通網站混在一起,因爲我總是使用jquery :) – user3734231

+0

此外,使用Javascript來做這種基本的CSS東西似乎過於複雜,內容,佈局和樣式分工不好。 –

1

如果可能的話,讓你想要隱藏一個模塊的章節,並設置在模板的相應模塊的區域。這樣,您可以將其分配給除首頁以外的所有頁面。這種方法的好處是頁面不會產生不必要的隱藏內容。

如果做不到這一點,以下內容添加到您的模板:

<?php 
$pageclass=""; 
$app = JFactory::getApplication(); 
$menu = $app->getMenu(); 
if ($menu->getActive() == $menu->getDefault()) { 
     $pageclass="homepage"; 
} 
?> 

,然後在你的身體標記...

<body class="<?php echo $pageclass; ?>"> 

這將一類「網頁」的補充人體標籤在主頁上。樣式然後可以被添加到主頁只有這樣...

.homepage .search-wrapper { 
    display:none; 
} 

無需JavaScript。

0

最簡單的方法 - 創建一個只發布到主頁的自定義HTML模塊。 擴展 - >模塊管理器 - >新建 - >自定義HTML

在該模塊中,切換到代碼視圖而不是wysiwyg編輯器,並創建一個樣式「塊」。您只需使用更具體的CSS規則來取代樣式表中的CSS即可。

假設您的樣式表當前僅引用一個類 - 那麼預先等待具有來自任何父容器中的一個元素的id的選擇器將更「特定」。

<style type="text/css"> 
#some-id .search-wrapper {display:none;} 
</style> 

顯然用父/祖父母/ etc元素的實際ID替換'some-id'。