Jump to content
thirty bees forum

DRMasterChief

Trusted Members
  • Posts

    685
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by DRMasterChief

  1. und eine einfache .tpl dazu, was sagt ihr was ok ist und was nicht? bin kein Profi... {capture name=path}{l s='Widerruf'}{/capture} <h1 class="page-heading bottom-indent"> {l s='Widerrufsformular'} </h1> {* Erfolgsmeldung *} {if isset($confirmation)} <p class="alert alert-success"> {l s='Ihr Widerruf wurde erfolgreich übermittelt.'} </p> <ul class="footer_links clearfix"> <li> <a class="btn btn-default button button-small" href="{$base_dir}"> <span><i class="icon-chevron-left"></i>{l s='Home'}</span> </a> </li> </ul> {else} {* Fehleranzeige *} {include file="$tpl_dir./errors.tpl"} <form action="{$link->getPageLink('widerrufbut')}" method="post" class="contact-form-box box"> <fieldset> <h3 class="page-subheading">{l s='Widerruf absenden'}</h3> <div class="clearfix"> <div class="col-xs-12 col-md-3"> {* E-Mail *} <p class="form-group"> <label for="email">{l s='Ihre E-Mail-Adresse'}</label> <input class="form-control grey validate" type="email" id="email" name="from" data-validate="isEmail" value="{$email|escape:'html':'UTF-8'}" required /> </p> {* Bestellnummer *} <p class="form-group"> <label for="order_reference">{l s='Bestellnummer (optional)'}</label> <input class="form-control grey" type="text" id="order_reference" name="order_reference" value="{Tools::getValue('order_reference')|escape:'html':'UTF-8'}" /> </p> </div> <div class="col-xs-12 col-md-9"> {* Nachricht *} <div class="form-group"> <label for="message">{l s='Ihr Widerruf'}</label> <textarea class="form-control" id="message" name="message" rows="8" required>{Tools::getValue('message')|escape:'html':'UTF-8'}</textarea> </div> {* Turnstile *} <div class="form-group"> <div class="cf-turnstile" data-sitekey="DEIN_SITE_KEY" data-theme="light"> </div> </div> </div> </div> <div class="submit"> <button type="submit" name="submitwiderrufbut" id="submitwiderrufbut" class="button btn button-medium"> <span>{l s='Widerruf absenden'}<i class="icon-chevron-right right"></i></span> </button> </div> </fieldset> </form> {/if} {* Turnstile Script *} <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
  2. Habe mal einen kleinen, (hoffentlich möglichst sauberen) neuen Controller dafür erstellt, Cloudflare Turnstile ist integriert, damit das nicht von Bots überschwemmt wird. Datei ist angehängt. Bitte mal prüfen wer davon Ahnung hat und mitarbeiten 🙂 <?php class WiderrufbutController extends FrontController { public $php_self = 'widerrufbut'; public $ssl = true; public function postProcess() { if (Tools::isSubmit('submitwiderrufbut')) { // 1) Turnstile prüfen $turnstileResponse = Tools::getValue('cf-turnstile-response'); if (!$turnstileResponse) { $this->errors[] = $this->trans('Bitte bestätigen Sie, dass Sie kein Roboter sind.'); return; } $secret = 'DEIN_SECRET_KEY'; $verify = file_get_contents('https://challenges.cloudflare.com/turnstile/v0/siteverify', false, stream_context_create([ 'http' => [ 'method' => 'POST', 'header' => "Content-Type: application/x-www-form-urlencoded\r\n", 'content' => http_build_query([ 'secret' => $secret, 'response' => $turnstileResponse, 'remoteip' => Tools::getRemoteAddr(), ]), ], ])); $result = json_decode($verify, true); if (empty($result['success'])) { $this->errors[] = $this->trans('Die Turnstile‑Prüfung ist fehlgeschlagen. Bitte erneut versuchen.'); return; } // 2) Formularfelder $from = Tools::getValue('from'); $order_reference = Tools::getValue('order_reference'); $message = Tools::getValue('message'); // 3) Validierung if (!Validate::isEmail($from)) { $this->errors[] = $this->trans('Bitte geben Sie eine gültige E-Mail-Adresse ein.'); return; } if (empty($message)) { $this->errors[] = $this->trans('Bitte geben Sie einen Widerrufstext ein.'); return; } // 4) Mailvariablen $mailVars = [ '{email}' => $from, '{order_reference}' => $order_reference, '{message}' => nl2br($message), ]; // 5) Mail an den Kundendienst Mail::Send( (int)$this->context->language->id, 'widerruf_admin', $this->trans('Neuer Widerruf'), $mailVars, Configuration::get('PS_SHOP_EMAIL'), null, $from ); // 6) Bestätigung an den Kunden Mail::Send( (int)$this->context->language->id, 'widerruf_customer', $this->trans('Ihr Widerruf wurde übermittelt'), $mailVars, $from, null, Configuration::get('PS_SHOP_EMAIL') ); // 7) Erfolg anzeigen $this->context->smarty->assign('confirmation', true); } } public function initContent() { parent::initContent(); $this->setTemplate(_PS_THEME_DIR_.'widerrufbut.tpl'); } } WiderrufbutController.php
  3. Hello, ...the cancellation button will become mandatory from June 19, 2026 in EU countries. So, this means, an electronic button is needed that allows consumers to cancel contracts online – simply, directly, and without detours. The goal: Cancellation should be as easy as signing the contract – with just one click. How do we implement this in ThirtyBees? Has anyone already considered this, or is someone working on a solution? It would be sufficient to use a copy the existing contact form and make it available for this purpose. This would also allow for the automatic sending of the email confirmation. This means, we have to copy the Controller and the .tpl from contact form to a new form? What else is to be done? Once again, the entire EU is affected, although the implementation in some countries seems to be less stringent. More informations here: The "cancellation button" (or withdrawal button) becomes a mandatory, simple, one-click feature for all EU online retailers for distance contracts starting June 19, 2026, due to EU Directive 2023/2673, requiring an easily accessible, prominent, and clearly labeled button on websites/apps to make canceling online purchases as easy as making them, preventing complex email/form processes. Key Details of the 2026 Cancellation Button: Mandatory Date: June 19, 2026. Applies To: Online retailers (websites & apps) in the EU for distance contracts (e.g., online shopping). Purpose: To allow consumers to withdraw from a contract with a single click, just as easily as they agreed to it. Functionality: It must be a digital function that's simple, clearly recognizable, and available throughout the 14-day withdrawal period. Requirements: Easy Access: Prominently placed, not hidden behind multiple clicks or logins. Clear Labeling: Clearly labeled (e.g., "Cancel Contract"). Confirmation: Clicking it leads to a confirmation page where the user submits the cancellation. Legal Basis: EU Directive 2023/2673, amending the Consumer Rights Directive. Why it's Happening: The EU aims to strengthen consumer rights and confidence in e-commerce by removing friction and complexity from the cancellation process, making it as easy as ordering. Non-compliance could lead to extended withdrawal periods (12 months + 14 days) or penalties. and also here are some informations: https://retjet.com/en/mandatory-return-button-in-online-stores-directive-2023-2673 Maybe we can arrange an good solution (without an module) in team work here?
  4. Hallo, hier noch mal die Frage ob schon jemand den Widerrufsbutton umgesetzt hat? Kann ggf. jemand und mit KI-Hilfe unterstützen, das Kontaktformular entsprechend zu kopieren und zu ändern?
  5. Hi, just a small notice: perhaps you'd like to set up a test shop on a cost-effective hosting provider (a 1:1 copy of your shop). This way you can easily test any changes and modules. There are already suitable hosting packages available for as little as 3-4 dollarini per month. I'd like to recommend www.serverprofis.de, which offers excellent performance.
  6. Please read. Many people only use the CAPTCHA for the contact form, not for the entire shop (why would they??). We also have one, but ONLY for the form, not for the shopping cart, etc., and there are no problems. Anyone who needs to use other Cloudflare services (e.g., load balancing) is unlikely to be on this forum and using ThirtyBees (even though it would be nice). And yes, we know exactly what it's like for users. Firstly, we're all internet users ourselves, and secondly, we test all the functions of our shop with different device views.
  7. I disagree with Cloudflare here; purely for the captcha, for example in the contact form, the speed via Cloudflare is not a problem, you don't notice any problematic delay.
  8. we are using Turnstile and it is highly recommended by us (you have to register at Cloudflare, but this is quickly done and ok), >> and have a look at Blackhole for Bad Bots - thirty bees store also, this is very useful too !!
  9. I highly recommend using hosting-based SQL management for this kind of thing. You probably have access via cPanel or something similar. It offers extensive SQL functions and full access to everything. Don't forget to back up your data beforehand 😉
  10. He did write that he's alone... and it can be a good solution for other circumstances, too.
  11. I also think that's a good idea, even if it's not something you think about every day. The time until "standby mode" should be adjustable, because some people only need to log into the back office every 2-3 days, not daily... it really depends on the business. Do other shop systems have something similar? That would give thirtybees another small unique selling point.
  12. ja, daher die Frage wie du hier darauf kommst? Hat doch mit dem Thema nichts zu tun.
  13. Zum DHL Geschäftskundenportal ggf. einfach per CSV ? Ist dort ja sehr frei konfigurierbar, also fast egal was und wo der Shop ausgibt kannst du es so konfigurieren daß DHL es einlesen kann.
  14. bist du beim neuen "Widerrufsbutton" oder irgendwo anders? Denn für den braucht es doch kein Double Opt-In....
  15. naja Papier"pflicht" gab es ja nicht direkt, aber egal, wir müssen es halt irgendwie im Shopsystem umsetzen. Die "KI" schlägt mir vor, entweder das Kontaktformular inklusive allen Änderungen zu "kopieren" um es als Widerrufsformular/-button zu nutzen und im CMS-Teil zu platzieren. KI würde mir dazu auch mit dem Code helfen, oder 2. Vorschläge wäre ein eigenes kleines Modul zu schreiben bzw. von KI schreiben zu lassen, aber da bin ich zu unsicher und vertraue zu wenig 🤕
  16. Hallo, ...der Widerrufsbutton wird ja Pflicht ab 19. Juni 2026 https://www.bmjv.de/SharedDocs/Pressemitteilungen/DE/2025/0709_Widerrufsbutton.html Benötigt wird also eine elektronische Schaltfläche, mit der Verbraucher Verträge online widerrufen können – einfach, direkt und ohne Umwege. Ziel: Der Widerruf soll so einfach wie der Vertragsabschluss sein – mit einem Klick. Wie lösen wir das in ThirtyBees? Gibt es dazu schon Gedanken bzw. arbeitet jemand an einer Lösung? Es würde ja genügen, das vorhandene Kontaktformular zu nutzen oder zu kopieren und dafür zur Verfügung zu stellen. So bekommt man ggf. auch den automatischen Versand der E-Mail-Bestätigung hin. Es ist mal wieder die gesamte EU betroffen, wobei die Umsetzungen in manchen Ländern wohl wieder lockerer genommen werden.
  17. It´s the same here, some points are loading very slow since a few days, no server or software changes, seems that tb is calling home for something (??!!) and this needs a lot of time.
  18. and even if... I don't think that's a concern or a bad thing, let the team work 🙂 Such headlines are poison for search engines. Can you please change it?!
  19. hmm... ich verstehe das schon, aber die Sinnhaftigkeit mag ich nicht so erkennen. Dann doch lieber anders markiert und die Reihenfolge bleibt erhalten, bspw. von A-Z, Preis aufsteigend oder wie auch immer. Aber das wird wohl sehr von den Artikeln und vor allem vom Händler abhängig sein, aber Händler sollten es nicht so machen wie sie mögen sondern wie die Kunden mögen.
  20. what especially do you think @Lausli ?
  21. Thanks for this great support and the update. These are things that no one checks 100 times, which makes a secure update all the more important.
  22. Interesting possibility, I don't have a use for it that I can think of yet, but as always, thanks for your work and i will test it!
  23. We sometimes have to send partial deliveries, for example one package in week 5 and the rest as a package in week 7. It would be great to have an overview of the package numbers, one below the other in the BO, for example. The customer receives an email every time I enter a package number, so he gets a message in week 5 and then again in week 7. Or not?
  24. interesting, i have a look into the database and tb_guest has nothing in it , tb_connections has 1 line from years ago. Is there anything changed in the core so there are no contents anymore?
  25. yes, it's the next big thing after the GPSR of December 2024... But first of all, are you affected or do you fall under the exemption? Check that carefully first, but I don't really understand the last sentence either: The Accessibility Strengthening Act covers manufacturers, dealers and importers of the above-mentioned products as well as the providers of the above-mentioned services. Micro-enterprises (fewer than ten employees and a maximum annual turnover of 2 million euros) that offer services are exempt from the law. However, micro-enterprises that put products into circulation fall under the BFSG. as far as i can see, the checkout e.g. with Paypal can be affected.
×
×
  • Create New...