2016-01-24 21 views
1

您好我一直在嘗試在drupal塊中創建一個智能按鈕菜單集,它記住哪個按鈕已被點擊(它位於哪個網站上)。由於原因不重要,它不是一個菜單,它是一個塊內項目。我創建了線以下:在Drupal中以塊div和css風格創建智能按鈕菜單

<div><a href="site1" class="button" style="width: 110px;">Overview</a></div> 
<div><a href="site2" class="button" style="width: 120px;">Instruments</a></div> 
<div><a href="site3" class="button" style="width: 110px;">Travel</a></div> 

這再加上下面的CSS生成可愛的按鈕:

.button { 
background-color: #61210b; 
color: white; 
float:left; 
padding: 2px; 
border: 2px solid #000000; 
border-radius: 5px; 
text-shadow: 1px 1px #000000; 
text-align: center; 
text-decoration: none; 
display: inline-block; 
font-size: 16px; 
font-family: 'verdana'; 
margin-bottom: 10px;} 

.button:hover { 
background-color: green; 
color: white;} 

.button:focus { 
background-color: green; 
color: white;} 

.button:active { 
background-color: green; 
color: white;} 

所以一切之上的偉大工程。但是,綠色激活顏色不會保留。一旦我點擊它就會回到之前的狀態。我希望它能夠「顯示」它所在的頁面,並且顏色會發生變化,只有當前選中的按鈕纔會呈現綠色。除了那個小問題,我還沒有很好的工作。我已經在網站上閱讀了一下,下面是一些不起作用的東西: - >內聯php,創建錯誤鏈接不可讀,如果我將其定義爲使用不同顏色選擇的類,則不起作用:

<a href="site1" class="<?php if(page() == "foobar") echo "selected"; else echo "button" ?>">Overview</a> 

什麼也不能正常工作是定義一個額外的類在<a href ><div>讓它「選擇」,在最好的,如果我使用的CSS文件,並做

.selected一個{顏色:綠色; } #selected a {color:green:}

我可以永久性地將顏色改變爲綠色,這不是我想要的。我之前看到過使用列表<li id="selected">創建菜單的討論,但不僅如此,這不會給我很好的按鈕,就像我的div格式一樣,它也不起作用。見:CSS: How to change colour of active navigation page menu

顏色只是永久性的改變,我只希望它改變顏色,如果頁面鏈接的頁面。由於我使用div,這意味着我也不能使用其他僞類選擇器技巧,如:target或:root。我有一種感覺,PHP是要走的路,但我不知道爲什麼它不能從我的drupal盒子裏在線閱讀。它沒有與HTML或CSS在線的問題。有任何想法嗎?

+0

這是一個自定義菜單嗎?我對drupal的代碼並不熟悉,它應該爲菜單中的「當前」頁面輸出一個類 - 查看https://www.drupal。org/node/251914 – Aziz

回答

0

好吧,所以我從系統管理員那裏聽說過,Drupal的安全設置不允許使用在線php或java腳本。用div語句完全沒有辦法做到這一點。唯一的方法是刪除所有內容並創建一個新的塊類型菜單塊。在菜單阻止僞類:如果你使用的CSS

li .active 

否則,你可以嘗試讓PHP啓用,但大部分的Drupal地區不允許或Java腳本(至少它是不允許在那裏活躍將保持活躍我是)。

0

試試這個代碼

CSS

.button:active, .button.selected { 
    background-color: green; 
    color: white; 
} 

PHP

<a href="site1" class="<?php if(page() == "foobar") echo "selected button"; else echo "button"; ?>">Overview</a> 

你寫的呼籲什麼別的東西...... .selected a與 「選擇」 之類針對任何元素它在一個錨標籤內,你的意思是一個選擇了類的錨標籤= a.selected

+0

也許有一點澄清是爲了,我從來沒有得到過PHP的工作,雖然我可以做一個快速的在線修改,但「<?」元素似乎會導致一個錯誤,它不會讀取類中的所有與它的PHP。這一定是一個drupal問題。如果我使用任何php:「」我只是在頁面上打印回顯語句,它甚至不會關閉。 –