Jump to content

Multi-language page names / URLs


ryan

Recommended Posts

Not sure what about it, but when I'm logged out (guest) the language page names doesn't work at all, it just throws 404 on front-end. When I uninstall the module I can access the pages (without language url) just fine.

Link to comment
Share on other sites

Ah ok that something. But the languages are active.

But I had on the home, entered "en" in both default and german language name.

I corrected that and have now 

default

"en"

german

"de"

on home page.

Now the german pages work for guest user but NOT the default language, it just shows 404.

Now the url is /en/about/, but the page about shows only /about/ as the url. So somehow the language segment for default language doesn't work for default, but works on the alternative languages.

So if I remove the "en" on home name it works. So there seems to be a bug.

Link to comment
Share on other sites

Hello Processwire-Community,

I have installed German Language Module from here: http://processwire.com/talk/topic/925-german-de-de/

While trying to enable multi-language, I got that:

Error:     Exception: Unknown column 'field_title.data1009' in 'field list'
(in /Users/c/Sites/processwire/wire/core/Database.php line 118)

Any solutions???

Christoph/ Cologne/ Germany

screenshots:
pcw_error_1.tiff
pcw_error_3.tiff
pcw_werror_2.tiff

Link to comment
Share on other sites

What version of ProcessWire? (I couldn't tell from the screenshots). What are the steps to reproduce? For instance, after which action did the error start occurring?

Thanks,

Ryan

Link to comment
Share on other sites

Thats right Soma its the latest Version 2.3.
What I did:
1) Admin -> Modules | enabled Languages Support and Languages Support -Fields
2) Admin -> setup -> Languages -> Add New ("german")
3) Admin -> Setup -> Languages -> Install from file http://processwire.c...5-german-de-de/
4) Admin -> Setup -> Fields -> Body | changed the Type from Textarea to TextareaLanguage
5) Warning: Screenshot 2 (my_last_post_above) Warning ignored
6) Error: Screenshot 1 (of_my_last_post_above) occured
7) Admin -> Setup -> Fields -> Title | changed the Type from PageTitle to PageTitleLanguage
8) Warning: Screenshot 2 (my_last_post_above) Warning ignored
9) Database crashed, Error: Screenshot 3 occured

I am just playing around with the system and the example page. Until now I didn't put in any data.
I need the possibility of multi language editing in the backend.

Link to comment
Share on other sites

I have downloaded a fresh Processwire from the homepage and I am not seeing the screenshots as in Ryans screengrabs

 ... 

What am I missing ?

 I'm not sure, but could be that you have the last stable PW and this feature you looking for is only in last dev-branch:

 https://github.com/ryancramerdesign/ProcessWire/tree/dev

EDIT: Ok, apeisa is to fast for me :grin:

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

Ah, good good thanks both of you for pointing that out. Is there a way to update my current installation to the latest dev branch ?

replace the complete wire folder with the new one, but keep the sites-folder unchanged (just delete / copy or rename to backup and copy new)

Link to comment
Share on other sites

Hhm, that's a thing for the pro's.

Only thing what comes to my mind is if you use an AdminTheme in your sites-folder you can do one test with it disabled (renamed) to see if the missing elements get suppressed by it. ??

Link to comment
Share on other sites

I've been making regular updates on the dev branch to the LanguageSupportPageNames module, so if you guys are using this, you may want to keep track of the updates. The good news is that this module is now running a production site: http://tripsite.com/cruises/ (only the /cruises/ site, as the rest of the site is running on a different copy of PW). 

This morning I pushed an update that makes it easier to tell if a given $page is viewable in another language. Now you can do this:

if($page->viewable($language)) { ... } // Language object
if($page->viewable('es')) { ... } // Language name

That is basically telling you if the page has its "active" checkbox checked. Since these pages would already be excluded from search results, you don't typically need to use it except when on a given page and trying to determine what other languages that page is available in (like if you want to link to them, as the select box at the top of tripsite does). 

  • Like 6
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...