Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Neuen Button erstellen, aber wie?

    robertko

    • Schreiberling
    • Beiträge: 271
    Neuen Button erstellen, aber wie?
    am: 25. Oktober 2015, 23:13:56
    Hallo.
    Womöglich steh ich gerade auf dem Schlauch, aber ich komme hier nicht weiter.
    Ich möchte gern einen neues Button erstellen, weiß aber gerade nicht wie ich das anstellen soll.
    Am besten wäre es, wenn er über Smarty, also per {$NEUER_BUTTON} angezeigt werden könnte.
    Von mir aus aber auch rein in HTML.
    Ist eigentlich egal, aber wie mahce ich das?

    Danke

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33833.0
    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware

    Haustier-Laden

    • Mitglied
    • Beiträge: 116
    • Geschlecht:
    Re: Neuen Button erstellen, aber wie?
    Antwort #1 am: 26. Oktober 2015, 10:21:36

    robertko

    • Schreiberling
    • Beiträge: 271
    Re: Neuen Button erstellen, aber wie?
    Antwort #2 am: 26. Oktober 2015, 11:29:51
    Hi. Erstmal vielen Dank.
    Aber kann man mit dem Modul auch neue Buttons erstellen?
    Also ich meine nicht, bestehende Buttons ersetzten, sondern einen Komplett neuen Button erstellen, der Dann per Smarty verwendet werden kann?
    Danke

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Neuen Button erstellen, aber wie?
    Antwort #3 am: 28. Oktober 2015, 17:47:38
    Wo soll der Button erscheinen und was soll er machen ?
    Von der Beantwortung dieser Frage hängt ab welche Datei bearbeitet und was dort definiert werden muß.

    Gruß,
    noRiddle

    robertko

    • Schreiberling
    • Beiträge: 271
    Re: Neuen Button erstellen, aber wie?
    Antwort #4 am: 28. Oktober 2015, 21:20:07
    Habs es mittlerweile selbst hinbekommen.
    Weiß aber nicht, ob dass der korrekte weg was. Es funktioniert zwar, aber ich bin kein pro was php was und html angeht.

    Ganz genau wie ich es gemacht habe kann ich gerade nicht sagen, ich bin gerade nicht am Rechner, aber ich habe in der jeweiligen .php Datei, wo der Button erscheinen soll, also product_info.php, product_listing.php usw. per Delfine einen weiteren Button erzeugt, ihn in der Sprachdatei benannt und dann ins Template eingefügt. In den Dateien werden ja bereits Buttons erzeugt, da hab ich mir dann ne Codezeile rauskopiert, angepasst und eingefügt.
    Klappt wunderbar, alles läuft, ob das so alles richtig ist oder ob es vielleicht auch hätte einfacher gemacht werden können.... Keine Ahnung. Aber funktioniert.

    Sooo, jetzt zum Button selbst.
    Ihn meinem Shop ist eine Neukundenregistrierung Pflicht. Heißt, Gäste können nichts bestellen. Nun wollte ich aber nicht, dass Gäste statt eines "Kaufen" Buttons, garnichts angezeigt bekommen, also habe ich einen neuen Button gemacht der zur Neukundenregistrierung führt. Dazu wollte ich aber nicht den "anmelden" Button verwenden, also habe ich einen Button erstellt, der zwar effektiv das selbe tut, aber "Jetzt Kunde werden" heißt.
    Ich habe in meinem Template eine smarty Kundengruppenabfrage eingebaut. Heißt, Gäste bekommen den "Jetzt Kunde werden" Button immer da angezeigt wo eigentlich der "Kaufen" Button ist. Sobald der Kunde angemeldet ist, steht da "Kaufen". Selbst in den Boxen ist das so. Musste dafür aber jede box_xxx.php anpassen.
    Habe leider keine Möglichkeit gefunden global einen zu erstellen, der dann überall verwendbar ist.

    Wenn du Zeit und Lust hast, und es einer andere oder bessere Lösung gibt, wäre ich dir dankbar, wenn du mir etwas auf die Sprünge hilfst. Andernfalls bin ich natürlich auch gern bereit eine Anleitung zu schreiben, sofern Interesse an meiner Lösung besteht.

    Danke

    piru

    • Fördermitglied
    • Beiträge: 1.263
    • Geschlecht:
    Re: Neuen Button erstellen, aber wie?
    Antwort #5 am: 29. Oktober 2015, 08:12:02
    Ich verstehe nicht, wofür du alles gemacht hast. Wenn du nicht möchtest dass Gäste kaufen, muss du nur sie ausschalten: Konfiguration - Kunden Details - Art der Kontoerstellung - Account.
    Sie sehen trotzdem den Button Kaufen, können auch die Ware in dem Warenkorb tuen, nur, wenn sie zur Kasse gehen, werden sie sich anmelden müssen (bin schon Kunde oder ich bin ein neue Kunde), und werden keine Möglichkeit auf als Gast bestellen zu können...

    Gruß piru

    robertko

    • Schreiberling
    • Beiträge: 271
    Re: Neuen Button erstellen, aber wie?
    Antwort #6 am: 29. Oktober 2015, 09:32:22
    Stimmt, aber so wollte ich das nicht. Ich möchte, dass die Kunden sofort sehen woran sie sind.
    Find es so einfach besser.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Neuen Button erstellen, aber wie?
    Antwort #7 am: 29. Oktober 2015, 16:40:19
    Im Prinzip bist du richtig vorgegangen bzgl. der Definition eines Smarty für die Buttons in /includes/modules/product_info.php und ~/product_listing.php.
    Eine Lösung mit Anfassen lediglich einer Core-Datei (Sprachdatei) wäre möglich wenn du in der /lang/SPRACHE/SPRACHE.php einfach eine Konstante definierst, z.B. für german:
    Code: PHP  [Auswählen]
    define('BUTTON_ANMELDEN', '<a href="'.xtc_href_link(FILENAME_LOGIN).'">Jetzt Kunde werden</a>');

    In jeder Template-Datei kannst du den Button dann wie folgt aufrufen:
    Code: XML  [Auswählen]
    {$smarty.const.BUTTON_ANMELDEN}

    Natürlich kannst du den Link auch mit anderen zusätzlichen HTML-Elementen definieren, sodaß er den anderen Buttons deines Shops optisch entspricht.

    Gruß,
    noRiddle

    robertko

    • Schreiberling
    • Beiträge: 271
    Re: Neuen Button erstellen, aber wie?
    Antwort #8 am: 29. Oktober 2015, 17:08:54
    Danke noRiddle.
    Heißt also wenn ich es so in die german.php packe, kann ich mir das editieren er anderen php Dateien sparen und dieser Button ist dann global verfügbar.
    Das ist ja noch besser, zumal ich noch nicht alle Boxen umgerüstet habe und noch weitere php Dateien nach meiner Methode bearbeiten müsste. Neeeee, dann bau ich das nochmal um und nehme deine Variante.
    Sehr gut.
    Vielen Dank.

    robertko

    • Schreiberling
    • Beiträge: 271
    Re: Neuen Button erstellen, aber wie?
    Antwort #9 am: 29. Oktober 2015, 18:42:16
    Hi.
    Ich brauche nochmal deine Hilfe.

    Ich hab das jetzt so gemacht, wie du gesagt hast, aber es klappt nur halb.
    ich habe in der german.php
    Code: PHP  [Auswählen]
    define('IMAGE_BUTTON_NEUKUNDE', '<a href="'.xtc_href_link(FILENAME_LOGIN).'">Jetzt Kunde werden'.xtc_image_button('button_neukunde.gif').'</a>');
    Wie du siehst, verwende ich css buttons.
    Weiss nicht ob das wichtig ist, aber ich sags mal dazu. :-D

    mit der smarty anweisung
    {$smarty.const.IMAGE_BUTTON_NEUKUNDE}

    erhalte ich auch einen Button, aber in ihm steht nicht "Jetzt Kunde werden" sondern "IMAGE_BUTTON_NEUKUNDE"
    Wat muss ichn jetzt machen?
    Bin die ganze zeit schon am probieren, aber krieg es nicht hin.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Neuen Button erstellen, aber wie?
    Antwort #10 am: 01. November 2015, 15:35:02
    Wenn eine Konstante im Browser angezeigt wird
    - in deinem Falle also IMAGE_BUTTON_NEUKUNDE -
    und nicht ihre Definition ist sie nicht definiert.
    Schau mal ob du es in der Definition richtig, bzw. genauso, geschrieben hast wie im Aufruf im Template.

    Ich kenne deine CSS-Button Implementation nicht.
    Lass das xtc_image_button() einfach weg und definiere den Button gleich als CSS-Button (wie im Quelltext der anderen Button zu sehen).

    Zu bedenken:
    Konstanten können nicht überschrieben oder umdefiniert werden.
    Wurde also IMAGE_BUTTON_NEUKUNDE bereits irgendwo anders definiert gibt's Probleme.
    Nimm also eine Konstante die unverfänglich ist und mit hoher Wahrscheinlichkeit noch nicht benutzt wurde (z.B. MY_SPECIAL_LOGIN_BUTTON).

    Gruß,
    noRiddle

    ChristianRothe

    • Mitglied
    • Beiträge: 187
    Re: Neuen Button erstellen, aber wie?
    Antwort #11 am: 01. November 2015, 17:17:00
    Seien wir doch mal ehrlich: Einen Button über eine Konstante in ein Template zu schmuggeln ist ziemlicher Pfusch bestenfalls eine kreative Behelfslösung.

    Aus meiner Sicht wäre es besser, das entsprechende Modul, in dem alle anderen Variablen an Smarty übergeben werden, um eine entsprechende Assign-Anweisung für den zusätzlichen Button zu ergänzen.

    Zum Schluss noch mein Tipp, warum der Trick mit der Konstante beim Threadersteller nicht funktioniert hat: Ich würde prüfen, ob er versehentlich das "define('IMAGE_BUTTON_NEUKUNDE'..." in die Sprachdatei für den Adminbereich (im Unterordner /lang/german/admin/ ) gepinselt hat und nicht in die german.php für den Frontendbereich.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Neuen Button erstellen, aber wie?
    Antwort #12 am: 01. November 2015, 18:06:20
    Seien wir doch mal ehrlich: Einen Button über eine Konstante in ein Template zu schmuggeln ist ziemlicher Pfusch bestenfalls eine kreative Behelfslösung.

    Aus meiner Sicht wäre es besser, das entsprechende Modul, in dem alle anderen Variablen an Smarty übergeben werden, um eine entsprechende Assign-Anweisung für den zusätzlichen Button zu ergänzen.
    ...

    Nunja, es ist in gewisser Weise ein Hack das so zu machen.
    Das Thema hier war aber ja gerade, daß der OP nicht für jeden Button eine PHP-Datei anfassen müssen wollte, /includes/modules/product_info.php für die Produkt-Einzelansicht, /includes/classes/product.php für die Produkt-Listings und dann noch die ganzen /template/HIS_TEMPLATE/source/boxes/WAS_WEISS_ICH.php Dateien.
    Um dies zu erreichen halte ich die Lösung über eine Sprachkonstante geradezu für genial einfach (nicht unbedingt für einfach genial ;-)).

    Gruß,
    noRiddle
    17 Antworten
    6386 Aufrufe
    05. März 2010, 22:26:18 von BJunior
    1 Antworten
    3793 Aufrufe
    05. Februar 2011, 19:25:51 von Tomcraft
    3 Antworten
    2968 Aufrufe
    29. September 2014, 17:23:00 von liquid-shop
    17 Antworten
    10389 Aufrufe
    19. Februar 2014, 22:26:45 von noRiddle (revilonetz)