Ergebnis 1 bis 17 von 17

Thema: catalognotelist mit counter der gemerkten einträge

  1. #1
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Fehler catalognotelist mit counter der gemerkten einträge

    Hi zusammen,
    ich arbeite gerade an einen etwas größeren projekt mit dem contao catalog. ich hab es hinbekommen eine merkliste für meine einträge zu erstellen. die einträge kann ich nun auswählen und sie erscheinen in meiner notelist. mir fehlt allerdings so eine art counter funktion mit der ich am link zum merkzettel sehe wieviel items gespeichert wurden. ich stell mir das so ähnlich vor wie das apple macht.

    http://www.hackphone.co.il/2010/11/i...phone-mail.jpg

    gibt es dafür schon ansätze?
    danke

  2. #2
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Staunendes Gesicht hab mir jetzt anders geholfen

    einfach eine span element an den linkgehangen und per jquery bei klick auf "zu merkliste hinzufügen" am link zum merkzettel eine 1 im roten kreis mit fadein und fadeout einblenden und ausblenden lassen.

    HTML-Code:
    $(function(){
    	var total_click = 0;
    	var total_max = 1;
    		$("deine merkzettel button").click(function(){
    	if(total_click<total_max) total_click++;
    		$("zum merkzettel link - span").html(total_click);
    		return false;
    		});
    	});
    
    $('deine merkzettel button').click(function() {
    	$('zum merkzettel link - span').fadeIn(1000, function() {
        // Animation complete.
      });
    	$('zum merkzettel link - span').fadeOut(500, function() {
        // Animation complete.
      });
    });
    sieht dannungefähr so aus


  3. #3
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Hallo,

    gibt es dafür auch noch einen anderen Ansatz? Wenn man das mit JavaScript löst und dann die Seite neu lädt, steht ja wieder der Ursprungswert dort.
    Kann man die Anzahl aus dem Cookie auslesen?

    Gruß
    Tina

  4. #4
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Tina,
    eventuell auf jeder Seite die Notelist als Modul einbinden und dort nur noch die Anzahl ausgeben lassen.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  5. #5
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Hallo MacKP,

    das Problem ist, dass ich dann ein zweites Template brauche, dass nur die Nummer ausgibt und ich kann weder dem Formular noch dem Modul ein Template zuweisen.

  6. #6
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Tina,
    entweder so: http://de.contaowiki.org/Eigene_Temp...C3%B6glichkeit
    oder per CSS ausblenden ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  7. #7
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Ausblenden finde ich immer unschön

    Ich werd mal gucken, was ich basteln kann. Danke für die Tipps!

  8. #8
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Ich muss wohl doch mit ausblenden arbeiten, weil ich an der Stelle keinen Zugriff auf die CSS-Klasse hat. Falls hier jemand noch eine andere Lösung weiß, immer her damit

    Das viel größere Problem ist, dass ich zwei Kataloge habe, von denen ich alle Items zusammenzählen möchte. Da aber das form_catalognotelist-Template pro Katalog durchlaufen wird, kriege ich es nicht hin, nur eine einzige Ausgabe zu erzeugen. Hat da jemand eine Idee?

    Viele Grüße

  9. #9
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Hier mal ein neuer Ansatz:

    Zähl einfach die gemerkten Objekte.

    Dafür das form_catalognotelist.tpl bissel aufbohren und eine "zähl"-Variable einfügen und im foreach hochzählen lassen. Meine heisst hier $itemCount.

    ich häng das mal an.

    PHP-Code:
    <?php 

    /***
     * Sample "View notelist" template file which get used to render a form in the frontend.
     * This sample shows how to display the notelist form element.
     * To see the data structure, uncomment the print_r() 
     */
     
    ?>
    <?php 
    // print_r($this->items); ?>

    <?php $itemCount 0?>

    <div class="formnotelist">
    <?php if($this->description): ?>
    <?php 
    echo $this->description?>
    <?php 
    endif; ?>
    <?php 
    foreach($this->items as $item): ?>
    <div class="notelistitem">
    <?php echo $item['amount']; ?> x
    <?php foreach($item['fields'] as $k=>$field): ?>
    <div class="field">
    <span class="title"><?php echo $field['title']; ?></span>
    <span class="value"><?php echo $field['value']['value']; ?></span>
    </div>
    <?php endforeach; ?>
    <div class="notelistvariants">
    <?php foreach($item['variants'] as $k=>$variant): ?>
    <?php 
    echo $variant['name']; ?>
    <?php 
    endforeach; ?>
    </div>
    <?php echo $item['input_amount']; ?>
    <?php 
    echo $item['input_update']; ?>
    <?php 
    echo $item['input_remove']; ?>
    </div>

    <?php $itemCount++; ?>

    <?php endforeach; ?>
    </div>

    <?php $GLOBALS['TL_LANG']['MSC']['my_catalognotelist']['items'] = $itemCount?>
    <div class="total">Gemerkte Objekte: <?php echo $itemCount?></div>

    Optional kannst du das ganze noch in eine globale Variable verpacken um diese z.B. an ein Formular zu übergeben. Ist manchmal ganz praktisch.


    Grüße Tim
    Geändert von Tim G (23.03.2011 um 10:18 Uhr)

  10. #10
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Die Idee ist auch nicht schlecht, aber das löst mein Problem mit den zwei Katalogen nicht. Das Template wird bei mir ja zweimal durchlaufen und ich muss beide Werte dann zusammenzählen und nur einmal ausgeben. Nur weiß ich nicht, wie ich das mache.

    Ich seh schon, ich hab mir wohl was zu Kompliziertes überlegt

  11. #11
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Stimmt, die zwei Kataloge habe ich überlesen.

    Aber, alles ist machbar.
    Ich überleg mal weiter

    doch, das geht über das template. Ich bau dir das nachher. Man kann über die CatalogID eine Unterscheidung machen und eine ZählVariable intitialisieren, die für den neuen Catalog zählt.

    Am Ende alles zusammen addieren.

    Ich muss jetzt aber erstmal zum Training
    Geändert von Tim G (23.03.2011 um 10:40 Uhr)

  12. #12
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Bitte mal testen:
    ps. sind noch ein paar Kommentare etc. drin.

    Und die Gesamtausgabe wird jetzt natürlich noch für jeden Katalog ausgegeben.
    Das ändere ich dir nachher.

    Aber im letzten Umlauf steht immer die Gesamtzahl.

    schneller gings nicht.

    PHP-Code:
    <?php 

    /***
     * Sample "View notelist" template file which get used to render a form in the frontend.
     * This sample shows how to display the notelist form element.
     * To see the data structure, uncomment the print_r() 
     */
     
    ?>
    <?php 
    // print_r($this->items); ?>

    <?php $actCatalogId $this->items[0]['catId'];  ?>

    Aktueller Catalog: <?php echo $actCatalogId?>

    <?php if($actCatalogId != oldCatalogId): ?>
        Neuer Katalog: Eintr&auml;ge im letzten Katalog: <?php echo $GLOBALS['TL_LANG']['MSC']['my_catalognotelist']['oldCatalogCount']; ?>
    <?php 
    endif; ?>

    <?php $itemCount $GLOBALS['TL_LANG']['MSC']['my_catalognotelist']['oldCatalogCount']; ?>

    <div class="formnotelist">
    <?php if($this->description): ?>
    <?php 
    echo $this->description?>
    <?php 
    endif; ?>
    <?php 
    foreach($this->items as $item): ?>
    <div class="notelistitem">
    <?php echo $item['amount']; ?>
    <?php 
    foreach($item['fields'] as $k=>$field): ?>
    <div class="field">
    <span class="title"><?php echo $field['title']; ?></span>
    <span class="value"><?php echo $field['value']['value']; ?></span>
    </div>
    <?php endforeach; ?>
    <div class="notelistvariants">
    <?php foreach($item['variants'] as $k=>$variant): ?>
    <?php 
    echo $variant['name']; ?>
    <?php 
    endforeach; ?>
    </div>
    <?php echo $item['input_amount']; ?>
    <?php 
    echo $item['input_update']; ?>
    <?php 
    echo $item['input_remove']; ?>
    </div>

    <?php $itemCount++; ?>

    <?php endforeach; ?>
    </div>

    <?php $oldCatalog $actCatalog?>
    <?php $oldCatalogCount 
    $itemCount?>

    <?php $total $itemCount?>
    <div class="total">Gemerkte Objekte: <?php echo $total?></div>

    <?php $GLOBALS['TL_LANG']['MSC']['my_catalognotelist']['oldCatalogCount'] = $oldCatalogCount?>
    <?php $GLOBALS
    ['TL_LANG']['MSC']['my_catalognotelist']['total'] = $total?>
    <?php setcookie
    ("my_catalognotelist_total""$total",  time()+60*60); // 1 Stunde ?>
    Ganz unten schreibe ich das noch in einen Cookie, damit man auch von anderen Seiten darauf zu greifen kann. Ist sehr rudimentär, aber funktioniert.

    Den kannst du mit
    PHP-Code:
    Anzahl in Merkliste: 
    <?php echo $_COOKIE['my_catalognotelist_total']; ?>
    auslesen.

    Das updated sich jetzt auf der Seite mit dem Merkliste-Modul. Das muss man jetzt noch umbauen, dass es beim Absenden geupdated wird. Im Grunde sollte das noch einfacher sein, da man nur per Klick hochzählen muss bzw. beim Löschen abziehen - egal welcher Katalog.

    Aber teste das oben erstmal, ob es in die richtige Richtung geht.
    Geändert von xchs (23.03.2011 um 15:06 Uhr)

  13. #13
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Hey Tim,

    vielen, vielen Dank für die Mühe!!
    Wenn ich mich mal revanchieren kann, dann sag Bescheid

    Es passte fast, ich habe nur noch einen Counter eingebaut, der die Anzahl der Kataloge zählt und wenn der bei 2 steht, gebe ich $total aus, damit die Ausgabe nicht zwei mal stattfindet.

    LG
    Tina

  14. #14
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Jup, cool wenn`s passt.
    Ist bissel quick & dirty. Wäre was für ein kleines eigenständiges Modul.

    Noch flexibler wäre es, wenn man vorher guckt wieviele Merklisten ausgezählt werden müssen bevor total ausgeben werden soll. Nur für den Fall man kennt die Gesamtanzahl nicht.

    Grüße,
    Tim

    ps. ich glaube das wird aus dem template heraus zu aufwendig.
    Geändert von Tim G (23.03.2011 um 16:44 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  15. #15
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Jup, cool wenn`s passt.
    Ist bissel quick & dirty. Wäre was für ein kleines eigenständiges Modul.

    Noch flexibler wäre es, wenn man vorher guckt wieviele Merklisten ausgezählt werden müssen bevor total ausgeben werden soll. Nur für den Fall man kennt die Gesamtanzahl nicht.

    Grüße,
    Tim

    ps. ich glaube das wird aus dem template heraus zu aufwendig.
    Ja, das denke ich auch. Aber für meine Zwecke reicht's und da ich eh nie mehr als 2 Katalog haben werde, ist das so eine gute Lösung.

  16. #16
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Tina Beitrag anzeigen
    ...und da ich eh nie mehr als 2 Katalog haben werde...
    Hehe in diesem Projekt vielleicht
    Aber, sag das nicht - Kommt schnell mal ein Projekt wo man mehr verbaut / braucht.
    Ist einfach ein Wahnsinns Tool.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  17. #17
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    341

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Kommt schnell mal ein Projekt wo man mehr verbaut / braucht.
    Da kümmer ich mich drum, wenn es soweit ist und dann suche ich dich wieder

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. catalognotelist probleme (gelöst)
    Von quma im Forum Sonstige Erweiterungen
    Antworten: 11
    Letzter Beitrag: 24.05.2010, 16:28
  2. IP Counter
    Von Cydox im Forum visitors
    Antworten: 4
    Letzter Beitrag: 01.02.2010, 21:49

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •