Jump to content
thirty bees forum

DRMasterChief

Trusted Members
  • Posts

    689
  • Joined

  • Last visited

  • Days Won

    17

DRMasterChief last won the day on December 12 2025

DRMasterChief had the most liked content!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

DRMasterChief's Achievements

  1. Hmm, okay. I see that `nd_pdo_mysql` isn't loaded under PHP 8.0, but it is under PHP 8.1 (and I can't change that while testing). Just so you know, I'm currently only changing the PHP version for a single directory (for testing purposes, there's a test shop in a subdirectory with a subdomain). I do this by .htaccess . Maybe this can cause the problem? So I have to switch from PHP 7.4 to 8.1 (which is rather unusual, I think).
  2. i am on a Litespeed server and i think nd_pdo_mysql is better for php 8.x ?
  3. Hi everyone, I want to upgrade from version 1.5 to 1.6 (that's already done and went quite smoothly), and of course I also want to upgrade to PHP 8.0 and higher (I'm currently on PHP 7.4). I have activated nd_pdo_mysql in cPanel. However, I'm encountering the following error, and I'm stuck... Does this have anything to do with: https://github.com/thirtybees/thirtybees/issues/1600
  4. Constant changes aren't necessarily a sign of quality, but yes, it shows activity. That doesn't mean the same thing, though. 🙂 Go with thirtybees.
  5. 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>
  6. 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
  7. 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?
  8. 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?
  9. 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.
  10. Please read. Many people only use the CAPTCHA for the contact form, not for the entire shop (why would they??). >> And Turnstile is not a CAPTCHA; the user doesn't have to do anything, solve any tasks, etc. That's the big advantage. 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.
  11. 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.
  12. 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 !!
  13. 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 😉
  14. He did write that he's alone... and it can be a good solution for other circumstances, too.
  15. 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.
×
×
  • Create New...