Post by Sportfreunde » Wed Dec 04, 2019 1:25 am

Ich würde gerne die Pflichtfelder Bundesland und Telefonnummer bei Gast und normaler Bestellung deaktivieren. Habe einiges auf Youtube gesehen doch meist für die Version 2.x.
Könnt Ihr mir weiter helfen?

New member

Posts

Joined
Sat Nov 30, 2019 4:46 am

Post by IP_CAM » Wed Dec 04, 2019 4:10 am

Beispiel: register.twig
Wo in der CLASS Definition required steht, muss dieses Wort dort
entfernt werden, wo man einen Eintrag nicht zwingend machen will.
<div class="form-group required">
<div class="form-group">
Ernst

Code: Select all

      <div class="form-group required">
            <label class="col-sm-2 control-label" for="input-telephone">{{ entry_telephone }}</label>
            <div class="col-sm-10">
              <input type="tel" name="telephone" value="{{ telephone }}" placeholder="{{ entry_telephone }}" id="input-telephone" class="form-control" />
              {% if error_telephone %}
              <div class="text-danger">{{ error_telephone }}</div>
              {% endif %} </div>
          </div>

My Github OC Site: https://github.com/IP-CAM
5'200 + FREE OC Extensions, on the World's largest private Github OC Repository Archive Site.


User avatar
Legendary Member

Posts

Joined
Tue Mar 04, 2014 1:37 am
Location - Switzerland

Post by OSWorX » Wed Dec 04, 2019 5:24 am

+ guest.twig
+ im Controller die Prüfung dafür ebenso deaktivieren.

Je nachdem ob Gastbestellung oder mit Registrierung.
Gast: controller/checkout/guest.php
Registrierung: controller/checkout/register.php
Darin jeweils in der function save() nach
telephone und zone_id
suchen und die betreffenden Prüfungen deaktivieren.

@Ernie: bitte wenn Tipps, dann vollständig - danke.

Full Stack Web Developer :: Dedicated OpenCart Development & Support DACH Region
Contact for Custom Work / Fast Support.


User avatar
Guru Member

Posts

Joined
Mon Jan 11, 2010 10:52 pm
Location - Austria

Post by IP_CAM » Thu Dec 05, 2019 12:39 am

Oops, sorry, aber auch mir passieren halt gelegentlich kleine Fehler ... 8) :laugh:
Mit Hilfe der // wird der Code jeder so markierten Linie(n) für den Server 'unsichtbar' gemacht.
Zumindest, wenn es diese Art von Code betrifft, PHP+HTML Code benötigt dafür <!-- was-auch-immer -->
----
catalog/controller/checkout/ register.php

Code: Select all

//if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) {
//$json['error']['telephone'] = $this->language->get('error_telephone');
//}
----
catalog/controller/checkout/ guest.php

Code: Select all

//if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) {

//$json['error']['telephone'] = $this->language->get('error_telephone');
//}
----
Ich habe eine noch etwas bessere Lösung, um so zumindest eine Fehlermeldung
zu erhalten, wenn die maximal zulässige Zahl von Ziffern ins Feld überschritten würde.
IN:
catalog/controller/checkout/register.php
SUCHE:

Code: Select all

if ((utf8_strlen($this->request->post['telephone']) < 3) || 
(utf8_strlen($this->request->post['telephone']) > 32)) {
    $json['error']['telephone'] = $this->language->get('error_telephone');
   }
ERSETZE MIT:

Code: Select all

if (utf8_strlen($this->request->post['telephone']) > 32) {
    $json['error']['telephone'] = $this->language->get('error_telephone');
   }
----
IN:
catalog/controller/checkout/guest.php
SUCHE:

Code: Select all

if ((utf8_strlen($this->request->post['telephone']) < 3) || 
(utf8_strlen($this->request->post['telephone']) > 32)) {

 $json['error']['telephone'] = $this->language->get('error_telephone');
}
ERSETZE MIT:

Code: Select all

if (utf8_strlen($this->request->post['telephone']) > 32) {
    $json['error']['telephone'] = $this->language->get('error_telephone');
   }
---
Und nachdem Du das gemacht hast, müssen noch alle CACHE Dateien
erst geleert werden, damit die geänderte Datei mit ins Spiel kommt.
Unprobiert, sollte aber eigentlich funzen. Und der Code sieht ja in allen
Versionen ab OC v1.5.6.x so aus. ;)

Aehnliches wird auch für die Zone gelten, falls Du die auch optional machen
willst. Aber falls Du nur die Schweiz belieferst, ist es eigentlich ratsamer, den
ganzen unnützen Haufen der anderen Länder- und Zone-Einträge aus der DB
zu entfernen, und so auch etwa 4'000 Linien Code in der DB zu sparen. Dann
hättest Du nur die eine Zone zur Auswahl, und die kann man ja so benennen,
wie man will. Und dazu vielleicht die SELECT Input Routine 'selected'
machen, fall diese eine Zone nicht automatisch im Auswahlfeld als Standard
erscheinen sollte. Ich kann mich nicht daran erinnern, es ist schon zu lange her .... :D
Einfach als Anregung, es bringt ja alles höchstens nur Speed... :laugh:
Viel Glück!
Ernst
---
How to remove Countries + Zones:
viewtopic.php?f=20&t=8102&p=671294
---
https://stackoverflow.com/questions/468 ... select-box
https://www.google.com/search?q=how+to+ ... 8&oe=utf-8
Image

My Github OC Site: https://github.com/IP-CAM
5'200 + FREE OC Extensions, on the World's largest private Github OC Repository Archive Site.


User avatar
Legendary Member

Posts

Joined
Tue Mar 04, 2014 1:37 am
Location - Switzerland

Post by Sportfreunde » Tue Dec 10, 2019 9:54 pm

Vielen Dank für die ausführliche Antwort. Ganz nett von Dir :)

New member

Posts

Joined
Sat Nov 30, 2019 4:46 am
Who is online

Users browsing this forum: No registered users and 94 guests