Jump to content

Unable to install Padloper due to errors


Klenkes
 Share

Recommended Posts

Hello @kongondo

I purchased Padloper this afternoon and was eager to test it out. Unfortunately due to errors I am stuck.

PW 2.0.242 on PHP 8.2.10 with only Language Support Module installed and one second language.
This is what I get when installing Shop:

image.png.f396085f0d3346168b455387b846762b.png

As you can see, the SHOP menuitem in Admin is there.
So I ignored the error and tried to install some of the shop options, and got:

image.png.128a2e05c11a494dcf399634578b828d.png

Out of clues I tried different PHP versions... but no success 😢

Due to sufficient database backups I always can go back to pre-installs.

Any hint?

Link to comment
Share on other sites

Hi @Klenkes,

Thanks for the purchase. Sorry about the issue!

I got the same error (incorrect table name) on a fresh install in a multilingual site with PHP 8.2 and ProcessWire 2.0.241. I am not sure whether it is coming from Padloper or ProcessWire. I wasn't able to find the root cause. In the end, I just refreshed that module page and the error went away. After that, I was able to install Padloper (configure) as usual. I didn't see the second error in my case. Are you able to please try again, this time refreshing the modules pages first. Thanks.

If you manage to get to the 2nd part of the installation you will hit an error when you try to access the Padloper payment gateways, Stripe or PayPal. I have a fix on my end but not pushed that yet.  You can implement the fix manually in your install like so:

<?php

namespace ProcessWire;

// /site/modules/Padloper/traits/loader/TraitPadloperLoader.php

// in the method getPadloperClassByName() near line #39

// FIND
if (!empty($options)) {
    // stuff
}

// REPLACE WITH THIS
if (!is_null($options)) {
    // stuff
}

Thanks.

Edited by kongondo
  • Like 1
Link to comment
Share on other sites

56 minutes ago, kongondo said:

I just refreshed that module page and the error went away. After that, I was able to install Padloper (configure) as usual. I didn't see the second error in my case. Are you able to please try again, this time refreshing the modules pages first. Thanks.

Hi @kongondo Thanks for your reply.

I tried refreshing and Clear Compiled Files, but no success. The Shop page however looks fine after refrehing.

But then I am not able to install any options on the Shop admin page. Not one not more.
It always results in the same error:

Field may not be named 'padloper_tax_rates' because it is already used by another field (104: padloper_tax_rates)

The Shop page works and shows me all the available option to install, but after the error noch option is checked.

Tomorrow I will try to install it on a remote server where my other websites live. Maybe it is something with my local environment...
I will report back!

Link to comment
Share on other sites

Hi @kongondo

I had to know... I tried to install the same installation on my remote server with exactly the same result. 😢

The install of Shop results in the first error, and after refreshing the page it goes away.
The install of an option results the first time in:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'padloper.field_padloper_description' doesn't exist

and any subsequent attempt always results in this one: (padloper_tax_rates)
Field may not be named 'padloper_tax_rates' because it is already used by another field (104: padloper_tax_rates)

The tables created look like this: (if it helps)

image.thumb.png.79f839b6f1f675eb252dc5b642806d22.png

Sorry for the trouble...

Link to comment
Share on other sites

Hi @Klenkes,

This is all very strange. The only common thing with recent issues is you guys are on Multilingual sites.

The table 'field_padloper_description_pwtmp' looks like ProcessWire did not finish installing the table for the field 'padloper_description', i.e. the suffix _pwtmp is coming from ProcessWire. Not sure about the error with the tax rates field. It could be as a result of previous failures with respect to the description field.

  1. What are the languages on your site?
  2. Which one is the default?
  3. Can I get access to your remote test server so I can debug directly there? If yes, please PM details.

Thanks for reporting this.

Edit

The only thing I can think of now is that the description fields fails to be installed (do you have language text area module?). For multilingual sites Padloper will install the description field as a Language Textarea field instead of a Textarea field. Maybe I should have a check for this module first instead of assuming that a multilingual site has this core module installed.

Edited by kongondo
Add info
Link to comment
Share on other sites

Hi @kongondo It's late, but a few facts.

I don't have a multilanguage site. Just the Language Module installed for a second language in the backend. I like the backend in english(default), clients have the option for german.
That means: the only installed language modules are LanguageSupport and Processlanguage.

So no Language Textarea or other field that support another language.

I will try to install Padloper without language support, and if it works, install it later.

Link to comment
Share on other sites

13 minutes ago, Klenkes said:

I don't have a multilanguage site. Just the Language Module installed for a second language in the backend. I like the backend in english(default), clients have the option for german.
That means: the only installed language modules are LanguageSupport and Processlanguage.

I think is the issue (i.e. the oversight in Padloper). I haven't used a setup like yours before but I am guessing calling $language on your site does NOT return NULL. Padloper uses this variable to check if a site is multilingual or not. So, Padloper thinks your site is multilingual. It then attempts to install 'padloper_description' as a language textrea field and things go awry from then on. 

13 minutes ago, Klenkes said:

I will try to install Padloper without language support,

You won't be able to do this. There is no option for this (but I could consider adding this as an option in future). For now, I will change language fields to check if corresponding language field exists instead of just checking $language. 

Would be great if I can test this on your remote test site, if at all possible.

Thanks.

Link to comment
Share on other sites

1 hour ago, Klenkes said:

Mhh... it does! It returns NULL frontend and backend.

OK.  Then I must have messed up somewhere. I'll have a look.

1 hour ago, Klenkes said:

Sent you a PM with logins.

Will have a play tomorrow.

Thanks.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...