2016-04-26 116 views
0

我有一種情況,我通過CMS創建網站並使用頁面包裝。頁面包裝CSS/HTML等將適用於所有頁面,所以如果我創建了一個自定義按鈕,我稱之爲「啓動募捐人」,此按鈕出現在所有頁面上。我想知道是否有JavaScript方法或其他可以隱藏其他頁面或強制它只出現在問候頁面中的其他方法,最好只在桌面上以手機顯示的方式應用於桌面,但如果這使得它複雜化,我很好地將它隱藏在移動版本的其他頁面上。如何將HTML元素隱藏在僅用於桌面的其他頁面上?

Test Page < ==我的測試頁在這裏,如果你去「瞭解更多」選項卡並打開下拉菜單,啓動募捐按鈕將從它坐的任何地方拉下來。

現在CMS確實有創造各種條件語句的能力,但它是有史以來最令人困惑的事情,這裏有一個例子:

Simple Tests 
If the test case matches, do one thing or do nothing: 
[[?xx[[S1:first_name]]xx::xxBobxx::Hi, Bob!::]] 
If the first_name is Bob, render "Hi, Bob!", if not, render nothing. 
If the test case matches, do one thing or do another thing: 
[[?xx[[S1:first_name]]xx::xxBobxx::Hi, Bob!::Hello.]] 
If the first_name is Bob, render "Hi, Bob!", if not, render "Hello." 

現在有超過100個S-標籤,並沒有他們特別說「隱藏」或類似的東西,所以它們需要一段時間才能通過其中每一個,因爲它們具有非常通用的標題,所以同時我希望有某種解決方案來加快速度。

而他們的客戶服務沒有幫助大聲笑,給了我上面張貼的代碼的鏈接。

編輯。已經引起了我的注意,它有可能是CMS使用PHP,但是我有機會獲得沒有HTML文檔的,所以我不能檢查是否正在使用PHP標籤。在頁面包裝,雖然,我可以調用HTML文件,我需要通過這個S-TAG命令:

[S63:3]

並將其拉所有的主體內容。所以這就是爲什麼我不知道它是否使用PHP。 CMS系統被稱爲Luminate Online(現在歸Blackbaud所有)

下面是如何插入數據外觀以及如何製作頁面包裝的圖像。它在左邊說HTML Body,但它不是,它基本上是一個適用於任何使用它的html頁面的樣式包裝器,任何設置它的人創建了其他地方無法訪問的內容,並且該人不再與我們在一起。

Page Wrapper

如果您需要任何額外的信息,請隨時問!我會提供我能做的!

任何建議grealty讚賞!感謝您的時間。

+0

這是使用PHP? –

+0

我認爲Luminate的內置代碼是使用php,因爲我只查看了他們構建的頁面,而當我查看頁面源代碼時,其中沒有任何條件代碼出現 – Umeed

回答

2

這裏是一個JavaScript的解決方案假設你的按鈕有一個ID:

// Set your target url 
    var url = 'http://yourdomain.com/targeturl'; 

    if (document.URL == url){ 
     // If it is the target show the button 
     document.getElementById("x").style.display = 'block'; 
    }else{ 
     // If it is not the target page hide the button 
     document.getElementById("x").style.display = 'none !important'; 
    } 

一個CSS解決隱藏在所有設備寬度的按鈕,除了桌面:

#x { 
     display: none; 
    } 
    @media (min-width: 992px) { 
     #x { 
     display: block; 
     } 
    } 

一定要改變"x"到按鈕的ID。


這裏是一個jQuery替代與您的特定網址和ID:

var url = "http://convio.cancer.ca/site/TR?fr_id=21959&pg=entry"; 
    if (window.location.href == url){ 
     $('#hmpgonly').css('display', 'block'); 
    } else { 
     $('#hmpgonly').css('display', 'none !important'); 
    } 

在該頁面中會顯示該按鈕,所有的人就應該將其刪除。我在頁面加載後在你的控制檯中測試了這個。

+0

感謝您的回答!我給出了''div''環繞'''''''''''hmpgonly'編碼的'',並應用了代碼,但沒有運氣 – Umeed

+0

再次嘗試代碼,但將警報添加到if語句以測試代碼是否在正確的時間觸發: 'alert(「這是正確的頁面」);'在第一個塊和'alert(「這不是正確的頁面」);'在第二個塊 –

+0

hmm看起來像是干擾了js。 「更多導航選項」在不應該顯示的時候顯示,並且當它假設被切換時,下拉菜單在移動設備中可見。大聲笑我一定在添加這段代碼之前搞砸了一些東西。我將不得不看看發生了什麼 – Umeed

1

看起來像你正在使用PhP,所以你可以做這樣的事情。

展會上所有的網頁,但 「/網站/ TR /活動/一般/」 一次

if ($_SERVER['SCRIPT_NAME'] != '/site/TR/Events/General/index.php') { 
    ///code here 
} 

展會上只是 「/網站/ TR /活動/一般/」 頁面

if ($_SERVER['SCRIPT_NAME'] == '/site/TR/Events/General/index.php') { 
    ///code here 
} 

我喜歡使用$_SERVER['SCRIPT_NAME'],因爲它顯示了消除動態路徑問題的基本路徑,如/dir/?this=that&that=this

+0

有趣!我不熟悉php,但是我打入頁面封裝器的html正在使用s-tag代碼[[S63:3]],所以有可能使用php我只是不知道,因爲我不'無法訪問這些文件,它只是輸入數據和它。頁面包裝也是內置的,但它調用我的頭元素的CSS/JS,我可以以某種方式將此代碼應用到單獨的PHP文檔,並從那裏調用它? – Umeed

+0

我用更多的信息更新了我的問題。試圖儘可能清楚地說明問題。 – Umeed

相關問題