+ Antworten
Ergebnis 1 bis 6 von 6

Thema: jquery-Extension in TYPO3 - wie funktioniert das?

  1. #1
    TP-Supporter Katjusha macht alles soweit korrekt Avatar von Katjusha
    Registriert seit
    Feb 2008
    Beiträge
    392

    jquery-Extension in TYPO3 - wie funktioniert das?

    Hi, ich würde gerne einen Farbwähler in meine Seite einbauen, dieser soll aus einer select-Box bestehen, wo dann die Werte per ajax an die DB übermittlet werden, das Ergebniss soll also sofort sichtbar sein, sagen wir ein Div-container soll direkt die neue Farbe als Hintergrund haben.

    Ich wüßte wohl schon wie ich mir das grob zusammenzimmern könnte, aber ich möchte dieses Mal eine saubere Umsetzung haben, meine Wahl fiel auf jquery, es gibt dort ein Plugin namens "jQuery - Select box manipulation" (http://www.texotela.co.uk/code/jquery/select/) was mir geeignet scheint. Nur weiß ich nicht, wie man da jetzt weiter vorgeht. Habe jquery installiert. Ist da dieses Plugin schon dabei oder muss ich das extra installieren? und wo?

    Hoffe ihr könnt mir ein paar Tipps hierzu geben.

  2. #2
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    aus Dinem Post kann ich ersehen das Du Dich weder mit jquery noch mit der Methode auskennst-

    Die Ext integriert lediglich jquery in die Seite. Was soll die Farbe in der DB? Wozu ein Ajaxrequest? Die Farbe ist CSS, also auch mit einem Einzeiler zu ändern.


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  3. #3
    TP-Supporter Katjusha macht alles soweit korrekt Avatar von Katjusha
    Registriert seit
    Feb 2008
    Beiträge
    392
    Hi,

    ist schon richtig, kenne mich wirklich nicht aus mit jQuery, deswegen ja auch die Frage. Aber bin mittlerweile auch schlauer demnach stellt die Extension lediglich die Dateien (Plugins) bei Aufruf bereit und wie du sagst integriert diese. Ok, ich glaube jetzt verstehe ich die Funktionsweise von diesem Plugin.

    Zu der ganzen Sache, es geht mir halt darum das ein Fe-User für sein Profil individuelle Stylesheets haben soll, die er dann in einem javascript-Formular (der Farbwähler) sich selber einstellen kann.
    Ich bin damit eigentlich auch schon ganz gut vorangekommen, dreckiges Javascript-Formular und eintrag in die DB sind soweit fertig (das mit dem ajax-Request war hier wirklich fehl am Platz/übertrieben, habe das nun verworfen).

    Jetzt soll eine css-Datei dynamisch generiert werden, mit php-Variablen im Css, damit dann dynamisch unterschiedliche Styles angezeigt werden (deswegen soll die Farbe in die DB):

    Code:
    .table1 {
        border: solid 2px #<?php echo $c[2]?>;
        background-color: #<?php echo $c[6]?>;
        width: 100%;
        height: 100%;
        text-align: center;
    }
    Bin jetzt noch am experimentieren, wie man so eine dynamische css in TYPO3 am besten umsetzt, im www gibt es dazu eigentlich kaum etwas.
    Greets, K

  4. #4
    TP-Supporter Katjusha macht alles soweit korrekt Avatar von Katjusha
    Registriert seit
    Feb 2008
    Beiträge
    392
    Hi,
    nun verwende ich doch keine als php umfunktionierte css-datei mit variablen, das erschien mir auch irgendwie unsauber. Da es auch nur um etwa 5 - 10 css styles geht, werden diese nun mit einer Extension in den header geschrieben. Ich würde euch nun gerne mal das Javascript präsentieren, was ich da reingepackt hab, ich glaub das ist nicht so der Hammer:

    HTML-Code:
    function chooseStyles($conf) {
    
    $action = "
    
    
    <script language=\"javascript\">
    
    function toggleswitch(id) 
    {
    var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
    if (document.getElementById('div'+i)) {document.getElementById('div'+i).style.display='none';}
    }
    if (d) {d.style.display='block';}
    }
    
    function toggleswitchHeader1(id) 
    {
    var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
    if (document.getElementById('headerone'+i)) {document.getElementById('headerone'+i).style.display='none';}
    }
    if (d) {d.style.display='block';}
    }
    
    
    
    function toggleswitchHeader2(id) 
    {
    var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
    if (document.getElementById('headertwo'+i)) {document.getElementById('headertwo'+i).style.display='none';}
    }
    if (d) {d.style.display='block';}
    }
    
    
    
    function toggleswitchBodye(id) 
    {
    var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
    if (document.getElementById('bodye'+i)) {document.getElementById('bodye'+i).style.display='none';}
    }
    if (d) {d.style.display='block';}
    }
    
    
    
    function toggleswitchLinks(id) 
    {
    var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
    if (document.getElementById('links'+i)) {document.getElementById('links'+i).style.display='none';}
    }
    if (d) {d.style.display='block';}
    }
    
    
    
    function toggleswitchRechts(id) 
    {
    var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
    if (document.getElementById('rechts'+i)) {document.getElementById('rechts'+i).style.display='none';}
    }
    if (d) {d.style.display='block';}
    }
    
    
    
    function toggleswitchFooter(id) 
    {
    var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
    if (document.getElementById('footer'+i)) {document.getElementById('footer'+i).style.display='none';}
    }
    if (d) {d.style.display='block';}
    }
    
    
    
    
    
    function header1func1(){
    document.getElementsByName('preview_style')[0].checked=true
    }
    function header1func2() {
    document.getElementsByName('preview_style')[1].checked=true
    }
    function header1func3() {
    document.getElementsByName('preview_style')[2].checked=true
    }
    function header1func4() {
    document.getElementsByName('preview_style')[3].checked=true
    }
    function header1func5() {
    document.getElementsByName('preview_style')[4].checked=true
    }
    
    
    
    function header2func1(){
    document.getElementsByName('preview_style2')[0].checked=true
    }
    function header2func2() {
    document.getElementsByName('preview_style2')[1].checked=true
    }
    function header2func3(){
    document.getElementsByName('preview_style2')[2].checked=true
    }
    
    
    
    function bodyefunc1() {
    document.getElementsByName('preview_style3')[0].checked=true
    }
    function bodyefunc2() {
    document.getElementsByName('preview_style3')[1].checked=true
    }
    function bodyefunc3() {
    document.getElementsByName('preview_style3')[2].checked=true
    }
    
    
    
    function linksfunc1() {
    document.getElementsByName('preview_style4')[0].checked=true
    }
    function linksfunc2() {
    document.getElementsByName('preview_style4')[1].checked=true
    }
    function linksfunc3() {
    document.getElementsByName('preview_style4')[2].checked=true
    }
    
    
    
    function rechtsfunc1() {
    document.getElementsByName('preview_style5')[0].checked=true
    }
    function rechtsfunc2() {
    document.getElementsByName('preview_style5')[1].checked=true
    }
    function rechtsfunc3() {
    document.getElementsByName('preview_style5')[2].checked=true
    }
    
    
    
    function footerfunc1() {
    document.getElementsByName('preview_style6')[0].checked=true
    }
    function footerfunc2() {
    document.getElementsByName('preview_style6')[1].checked=true
    }
    function footerfunc3() {
    document.getElementsByName('preview_style6')[2].checked=true
    }
    
    
    </script>
    
    
    ";
    Das ist das javascript, welches auf die checkboxen im Formular reagiert und
    die einzelnen Divs bei klcik sichtbar macht, es geht halt im Prinzip um
    den grafischen Nachbau der echten Seitenstruktur, also etwa header, header2,links,rechts,footer und bei klick auf die farben ändert sich dann in diesem nachbau die jeweilige farbe, zb vom footer.

    Bzgl des javascript nun, hat mir jemand einen Tipp wie ich das ökonomischer schreiben kann? und, wie könnte ich dieses beispiel nun in jquery umsetzen?

    danke und Gruß, Katjusha
    Angehängte Grafiken  

  5. #5
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    das geht mit jQuery wirklich einfacher. Minitutorial: http://www.electrictoolbox.com/jquer...t-form-values/


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  6. #6
    TP-Supporter Katjusha macht alles soweit korrekt Avatar von Katjusha
    Registriert seit
    Feb 2008
    Beiträge
    392
    Sieht interessant aus. Danke dir...

+ Antworten

Ähnliche Themen

  1. jquery height funktioniert nicht
    Von joextra im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 19.07.2009, 17:04
  2. TYPO3 Extension anapssen
    Von diefl im Forum Jobs & Aufträge
    Antworten: 0
    Letzter Beitrag: 30.09.2006, 13:38
  3. DAM-Extension Typo3 v4.0
    Von Parisienne im Forum TYPO3
    Antworten: 9
    Letzter Beitrag: 14.07.2006, 23:22
  4. [Typo3] Extension & Cache
    Von flo.s im Forum TYPO3
    Antworten: 2
    Letzter Beitrag: 28.04.2006, 13:25
  5. TYPO3-Extension
    Von diefl im Forum Jobs & Aufträge
    Antworten: 1
    Letzter Beitrag: 15.03.2006, 10:16

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51