Hoofdmenu

"Notice: Undefined index" melding bij OpenCart 1.5.6

Gestart door remgro, 25 september, 2013, 11:02:20

Vorige topic - Volgende topic

remgro

Na het updaten van een webshop van een klant naar OpenCart versie 1.5.6 en Acumulus webkoppeling v2.0.4 verschijnen de volgende meldingen op de website:

Notice: Undefined index: layout_id in /home/gebruikersnaam/domains/domeinnaam.nl/public_html/catalog/controller/common/column_left.php on line 50
Notice: Undefined index: layout_id in /home/gebruikersnaam/domains/domeinnaam.nl/public_html/catalog/controller/common/column_right.php on line 50
Notice: Undefined index: layout_id in /home/gebruikersnaam/domains/domeinnaam.nl/public_html/catalog/controller/common/content_top.php on line 50
Notice: Undefined index: layout_id in /home/gebruikersnaam/domains/domeinnaam.nl/public_html/catalog/controller/common/content_bottom.php on line 50

Is dit een foutje in jullie koppeling? De fouten waren er nog niet voordat ik Acamulus had geüpdate naar versie 2.0.4

Update: De meldingen verschijnen pas nadat je op 'wijzigen' klikt en dan opslaat (ook al vul je niks in). Zolang je de koppeling dus installeert (of update) en geen wijzigingen opslaat krijg je geen meldingen.

remgro

#1
De fout zit in het beheergedeelte bij het veld kostenplaats.
Dit staat er in de broncode bij /admin/index.php?route=module/acumulus

<td class="left">Kostenplaats</td>
             <td><select name="acumulus_module[0][entry_costheadings]">
                object(stdClass)#109 (1) {
  ["costheading"]=>
  object(stdClass)#104 (2) {
    ["costheadingid"]=>
    string(5) "41024"
    ["costheadingname"]=>
    string(8) "Algemeen"
  }
}


en daarna stopt de pagina dus...

update: hierbij de oplossing; er zit nog een debug regel in /admin/view/template/module/acumulus.tpl op regel 35:
var_dump($parsed_response);exit;
deze moet dus verwijderd of in commentaar gezet worden.

remgro

#2
Dan is er dus nog een probleem, althans wel in ons geval met deze klant, want '$parsed_response->costheading' is geen array!
Dit is op te lossen door regel 34 t/m 42(regel 43 indien je de bovenstaande debug regel er nog in hebt staan) te vervangen;

      case 'costheadings':
        if(isset($parsed_response->costheading) && is_array($parsed_response->costheading)) {
          foreach($parsed_response->costheading as $costheading) {
           
            $options[$costheading->costheadingid] = $costheading->costheadingname;
          }
         
        }
      break;


door:

      case 'costheadings':
        if(isset($parsed_response->costheading)) {
          if(is_array($parsed_response->costheading)) {
            foreach($parsed_response->costheading as $costheading) {
           
              $options[$costheading->costheadingid] = $costheading->costheadingname;
            }
          } elseif(isset($parsed_response->costheading->costheadingid) && isset($parsed_response->costheading->costheadingname)) {
            $options[$parsed_response->costheading->costheadingid] = $parsed_response->costheading->costheadingname;
          }
        }
      break;

Guido

Hmm. dat is inderdaad niet zo handig allemaal. Ik relay het naar Neshmedia.

Ontzettend bedankt voor het uitzoekwerk.

Guido

remgro

Volgende probleem; je kunt de orders niet doorzetten naar Acamulus omdat 'margin rules enabled' standaard aan staat.
Deze moet natuurlijk standaard uit staan ook gezien het commentaar wat erboven staat.
//Wanneer u marge producten heeft dient u dit aan te zetten. U moet eerst de handleiding volgen om OpenCart gereed te maken voor margeproducten.

Oplossing: verander regel 7 in /system/library/acumulus.php van:

    private $_marge_rules_enabled = true;

naar:

    private $_marge_rules_enabled = false;

rutgerdb

Ik heb bovenstaande drie aanpassingen gedaan en dan werkt inderdaad webshopkoppeling 2.04 met OpenCart 1.5.6.

Ben even aan het testen geweest, maar dan kom ik het volgende probleem tegen :

Na een bestelling van klant1, word klant1 toegevoegd als relatie in Acumulus en is er een boeking op klant1.
Wanneer klant2 dan een bestelling doet (getest als guest zonder account) dan word deze niet als nieuwe relatie toegevoegd. De boeking komt bij klant1 te staan.

Meer mensen met dit probleem ? Of doe ik iets niet goed ?

Guido

klanttoevoeging gebeurt ondermeer op basis van het emailadres. is dit verschillend tussen klant1 en 2?

rutgerdb

Citaat van: Guido op 05 oktober, 2013, 18:06:02
klanttoevoeging gebeurt ondermeer op basis van het emailadres. is dit verschillend tussen klant1 en 2?

Bedankt voor de snelle reactie.

Ik had inderdaad hetzelfde emailadres gebruikt om even te testen zonder aanmaken van een account. Bij een account is dit niet mogelijk om te registreren met een zelfde emailadres.
Voorlopig de optie om zonder account te bestellen gewoon uitzetten denk ik. Opgelost !

black sun empire

DIe layout error verdwijnt idd na die aanpassingen, maar ik krijg nog wel iets vergelijkbaar na aanschaf van een product ( ook weer een layout error)
Daarnaast komen niet alle klant gegevens over naar Aculumus. De facturen in Acumulus hebben alleen Naam, Straat, Postcode en Stad.

Iemand enig idee?



Guido

Welke mis je? En zijn deze klantgegevens wel beschikbaar in jouw OpenCart installatie?

black sun empire

'Land' mis ik bijvoorbeeld op de factuur, als ik naar de klant gegevens in opencart kijk staan ze daar wel allemaal.

Guido


Guido

Met dank aan BuroRader heb ik zojuist een nieuwe major release van de OpenCart webkoppeling met Acumulus kunnen uploaden. Mochten jullie nog problemen ervaren met de koppeling dan horen we graag van jullie hoe de ervaring met deze nieuwe release is.

Download URI: https://forum.acumulus.nl/index.php/topic,2743.0.html