DRMasterChief
Trusted Members-
Posts
685 -
Joined
-
Last visited
-
Days Won
17
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Store
Blogs
Everything posted by DRMasterChief
-
Widerrufsbutton
DRMasterChief replied to DRMasterChief's topic in Deutsches Forum - Generelle Fragen
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> -
Widerrufsbutton
DRMasterChief replied to DRMasterChief's topic in Deutsches Forum - Generelle Fragen
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 -
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?
-
Widerrufsbutton
DRMasterChief replied to DRMasterChief's topic in Deutsches Forum - Generelle Fragen
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? -
Update Thirty Bees to stay in step with PHP - But did it work?
DRMasterChief replied to Ian Ashton's question in Technical help
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. -
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.
-
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.
-
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 !!
-
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.
-
Widerrufsbutton
DRMasterChief replied to DRMasterChief's topic in Deutsches Forum - Generelle Fragen
ja, daher die Frage wie du hier darauf kommst? Hat doch mit dem Thema nichts zu tun. -
Widerrufsbutton
DRMasterChief replied to DRMasterChief's topic in Deutsches Forum - Generelle Fragen
bist du beim neuen "Widerrufsbutton" oder irgendwo anders? Denn für den braucht es doch kein Double Opt-In.... -
Widerrufsbutton
DRMasterChief replied to DRMasterChief's topic in Deutsches Forum - Generelle Fragen
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 🤕 -
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.
-
Thirty bees back office is loading very slow
DRMasterChief replied to Madhosh's question in Technical help
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. -
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?!
-
Ausverkaufte Artikel nicht deaktivieren
DRMasterChief replied to Batman's topic in Deutsches Forum - Generelle Fragen
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. -
what especially do you think @Lausli ?
-
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!
-
Multiple tracking numbers for an order, needed or not?
DRMasterChief replied to the.rampage.rado's topic in English
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? -
Can't access carts in backoffice - SQL timeout
DRMasterChief replied to RabbitZzZ's topic in English
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? -
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.