2016-04-26 8 views
0

Ich habe eine Situation, wo ich eine Website über CMS erstellen und Seitenwrapper verwenden. Seitenumschläge css/html usw. werden auf alle Seiten angewendet. Wenn ich also eine benutzerdefinierte Schaltfläche mit dem Namen "Start a Fundraiser" erstelle, erscheint diese Schaltfläche auf allen Seiten. Ich habe mich gefragt, ob es eine JavaScript-Methode oder etwas anderes gibt, das sie vor anderen Seiten verbergen könnte oder nur auf der Begrüßungsseite erscheinen würde, vorzugsweise nur auf dem Desktop, so wie es auf Mobiltelefonen angezeigt wird das macht es komplizierter, es geht mir gut, es auf den anderen Seiten der mobilen Version zu verstecken.Wie kann ein HTML-Element auf anderen Seiten nur auf dem Desktop angezeigt werden?

Test Page < == meine Testseite hier Wenn Sie zum Tab "Weitere Informationen" gegangen sind und die Drop-Downs geöffnet haben, würde die Schaltfläche Fundraiser starten von wo auch immer sie hingehörte heruntergezogen.

nun das CMS hat die Fähigkeit, eine Vielzahl von bedingten Anweisungen zu schaffen, aber es ist die verwirrende Sache überhaupt, dann ist hier ein Beispiel:

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

Jetzt über 100 S-Tags sind und keine von ihnen sagen spezifisch "verstecken" oder etwas Ähnliches, also dauert es eine Weile, die durch jeden von ihnen geht, weil sie sehr generische Titel haben, so in der Zwischenzeit hoffte ich auf irgendeine Art Lösung, um Sachen zu beschleunigen.

Und ihr Kundenservice hat nicht geholfen lol, gab mir die Links zu dem Code, den ich oben gepostet habe.

EDIT Es darauf aufmerksam gemacht worden, dass es möglich ist, dass das CMS PHP verwendet, aber ich Zugriff auf keine der HTML-Dokumente haben, so kann ich nicht sehen, prüfen, ob PHP-Tags werden verwendet . obwohl auf der Seite Wrapper kann ich das HTML-Dokument Ich brauche aufrufen, indem Sie mit diesem S-Tag-Befehl:

[[S63: 3]]

und es zieht alle Körper Inhalt. Deshalb kann ich nicht sagen, ob PHP verwendet wird oder nicht. Das CMS-System heißt Luminate Online (jetzt im Besitz von Blackbaud)

Hier ist ein Bild, wie das Einstecken von Daten aussieht, und wie der Seitenwrapper erstellt wird. Es sagt HTML Body auf der linken Seite, aber es ist nicht, es ist im Grunde ein Stil Wrapper, der auf jede HTML-Seite, die es verwendet, angewendet wird, wer dies eingerichtet erstellt den Inhalt an anderer Stelle, die nicht zugänglich ist und diese Person ist nicht mehr bei uns.

Page Wrapper

Wenn Sie weitere Informationen benötigen, wenden Sie sich bitte zögern Sie nicht! Ich werde zur Verfügung stellen, was ich kann!

Jeder Vorschlag wird sehr geschätzt! Vielen Dank für Ihre Zeit.

+0

Verwendet dies PHP? –

+0

Ich denke, für Luminate eingebaute Codes verwendet es PHP, weil ich gerade eine Seite überprüft, die von ihnen erstellt wurde, und wenn ich Seite Quelle ansehen keine der bedingten Codes, die darin ist, kommt – Umeed

Antwort

2

Hier ist eine JavaScript-Lösung Ihre Schaltfläche hat eine ID vorausgesetzt:

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

Seien Sie sicher, "x" zu ändern:

// 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'; 
    } 

Eine CSS-Lösung auf die Schaltfläche auf alle Gerätebreiten außer Desktop zu verstecken die ID der Schaltfläche.


Hier ist ein jQuery Alternative mit Ihren spezifischen URL und IDs:

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'); 
    } 

Auf dieser Seite den Knopf zeigen, bei den anderen ist es es entfernen sollte. Ich habe das in der Konsole nach dem Laden der Seite getestet.

+0
+0

Probieren Sie den Code erneut aus, aber fügen Sie Warnungen der if-Anweisung hinzu, um zu testen, ob der Code zum richtigen Zeitpunkt ausgelöst wurde: 'alert (" Dies ist die richtige Seite ");' im ersten Block und 'alert (" Dies ist NICHT die richtige Seite ");' im zweiten Block –

+0

hmm sieht aus wie etwas mit der js stören. "More Nav options" wird angezeigt, wenn dies nicht der Fall sein sollte, und das Dropdown-Menü ist im Mobilgerät sichtbar, wenn es umgeschaltet werden soll. Lol Ich muss etwas durcheinandergebracht haben, bevor ich diesen Code hinzugefügt habe. Ich werde sehen müssen, was los ist – Umeed

1

Sieht aus, als ob Sie PhP verwenden, also können Sie so etwas tun.

Auf allen Seiten, sondern "/ site/TR/Events/Allgemein /" ein

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

Auf nur "/ site/TR/Veranstaltungen/Allgemein /" Seite

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

Ich verwende gerne $_SERVER['SCRIPT_NAME'], da es den Basispfad zeigt, der Probleme mit dynamischen Pfaden wie /dir/?this=that&that=this beseitigt.

+0

interessant! Ich bin mit PHP nicht vertraut, aber der HTML-Körper, den ich in den Seitenwrapper rufe, benutzt einen S-Tag-Code [[S63: 3]], also ist es möglich, dass er php verwendet. Ich weiß es einfach nicht, weil ich nicht weiß. t Zugang zu diesen Dokumenten haben, ihre nur Eingabedaten und dass es. Der Seitenwrapper ist ebenfalls eingebaut, aber er ruft meine css/js vom head Element auf, kann ich diesen Code irgendwie auf ein separates php Dokument anwenden und von dort aus aufrufen? – Umeed

+0

Ich aktualisierte meine Frage mit mehr Informationen. Versuche es so klar wie möglich zu machen. – Umeed

Verwandte Themen