terminal42 / contao-changelanguage Goto Github PK
View Code? Open in Web Editor NEWChangeLanguage is an extension for the Contao CMS which allows visitors to switch between different languages of your website.
ChangeLanguage is an extension for the Contao CMS which allows visitors to switch between different languages of your website.
In Kombination mit der Contao eigenen Suche werden fehlerhafte URLs generiert.
Beispiel:
http://somedomain.tld/de/suchen.html?keywords=test1+test2
Führt zu Links auf:
http://somedomain.tld/en/search/keywords/test1%20test2.html?keywords=test1%20test2
Das Keyword wird also hinten als GET-Parameter angehängt und zusätzlich in die URL eingebaut. Letzteres führt dann i.d.R. zu einem 404 Fehler.
Hallo Team terminal42,
kann es sein, dass der Pfad für die Alternativ-URLs bei unterschiedlichen Sprachen nicht vollständig ist? Ich habe gerade im Google-Forum (https://productforums.google.com/d/msg/webmasters/DdfXOZ0VZLE/swjxIsYNUzEJ) den Hinweis bekommen, dass die URL hier
vollständig und nicht relativ abgebildet werden muss. - nicht /tipps/prozess/ - sondern http://disco.com/tipps/prozess/In contao-changelanguage geschieht dies anscheinend jedoch immer relativ zur Domain. Ist das korrekt bzw. lässt sich das umstellen?
Google: Im Fall von Auswahlmenüs für Sprache bzw. Land oder bei Startseiten, die automatisch weiterleiten, sollten Sie zudem einen Vermerk für den hreflang-Wert "x-default" hinzufügen:
link rel="alternate" href="http://example.com/" hreflang="x-default"
Ich bin darauf gekommen, weil Google bei unserer Seite für die Startseite die englische Site-Descrition in den Site-Links ausgibt. Das geschieht, weil der Google-Bot ja englisch spricht. Aus diesem Grund muss man vermutlich so etwas machen, um die deutsche Description zu erzwingen:
link rel="alternate" href="http://example.com/de" hreflang="x-default" --> also mit "de" als Weiterleitung.
Was denkt ihr bzw. was kann man machen?
T
Ist es möglich 1 Seitenbaum ausschließen.
In meinem Fall habe ich
Würde gerne den letzten Seitenbaum nicht im Sprachenwechsler anzeigen lassen.
Eventuell auch etwas für die nächste Version. :)
Gibt es dazu irgendeinen Workaround?
If you have integrated the Change Language menu module more than once on the same page, the "lang-XX" class gets inserted for the body for each module in ModuleChangeLanguage, line 195.
Page structure:
DE --> Irgendwas
--> Nochwas
EN (Fallbacksprache) --> Something
If I copy now "Nochwas" to EN the languageRoot is not reset to 0. This is causing strange effects.
In https://github.com/terminal42/contao-changelanguage/blob/master/dca/tl_page.php#L119 there is already code for resetting, but I am not sure which cases are handled there.
I think we should add the condition:
if $objPage is in the fallback tree then languageRoot should always be set to 0.
Am I correct?
The module shows the language point even when that language root is protected.
Say I have 2 website roots, DE as default root and EN as protected root. The module shows both DE and EN point, even when I am not logged in frontend.
Hi,
wäre es möglich, den hreflang über ein separates Template updatesicher ändern zu können?
Der hreflang ist äußerst mächtig und kann von einem SEO z.B. dazu genutzt werden um eine bestimmte Sprachversion auf die Keywords dieser Sprachversion international ranken zu lassen, beispielsweise die US-Version eines Shops auch in Indien, Bangladesh, usw.
Das bedeutet also Rankings ohne explizite Sprachversion dieses Shops.
Im ersten Schritt wäre eine Pflege über ein Template schon extrem angenehm, über ein Modul können wir ggf. in einem 2. Schritt sprechen, falls überhaupt nötig :)
Viele Grüße,
Kim
Contao 3.3.6 / changelanguage 2.2.6
Two languages for the same domain name.
No entries for the domain name in the dns settings of the website root.
Ouput:
`
Hallo zusammen,
contao zeigt nach dem Update nur noch eine leere Selectbox "Fallback-Seite" an; die Informationen sind jedoch noch in der Datenbank vorhanden, es ist nur keine neue Auswahl möglich.
Der Fehler liegt möglicherweise in der Methode findMainLanguageRootForPage() der ChangeLanguage.php
Scheinbar liefert getPageDetails() im Fehlerfall nur NULL zurück, die Property "numRows" ist nicht gesetzt (NULL).
Daher sollte Zeile 116 statt
return $objRoot->numRows ? $objRoot->row() : false;
eher
return is_null($objRoot) ? false : $objRoot->row();
lauten - zumindest ist dann die Selectbox wieder gefüllt.
Hope that helps...
Grüße,
Pascal
Nachtrag: Bug besteht seit 2.2.5, dort wurde
$objRoot = $this->Database->prepare("SELECT * FROM tl_page WHERE id=?")->execute($arrRoot['languageRoot']);
in
$objRoot = $this->getPageDetails($arrRoot['languageRoot']);
geändert, seitdem gibts kein $objRoot->numRows mehr...
Hi,
aktuell wir das Auswahlfeld für die Zuordnung der Seiten nur angezeigt, wenn bei Domain zwei gleiche Domainnamen - inkl. Subdomain enthalten sind...
Wenn man für die Vorbereitung einer neuen Sprachseite z.B. die Subdomian en.domain.de verwendet, kann man die Seeitenreferenzierung nicht eingeben - dass muss man dann nach Freischaltung machen oder per htaccess-Schutz.
Kann man nicht eine Anzeige "erzwingen"?
Gruss & Dank
If a module requires a reference page, it will not be considered in the multilingual management.
For example, I have two languages FR + DE.
Then I insert my module in a page layout. If I switch in German, my module will no longer work. I have to create two modules and two page layouts...
It would be nice if the extension takes into account the reference pages.
In this case : inhaltsverzeichnis.html
.
Thanks
The setup:
This happens in ModuleChangeLanguage.php line 149:
page2 brings domain "domainEN" while root1 has no domain,
domain generation puts together http and the empty root1 domain setting
We get http:///page1
Hallo,
wäre es möglich dass man bei z. B. 3 Sprachen zwischen den beiden Sprachen wechseln kann die keine Hauptsprache sind ohne dass es eine Fallbackseite in der Hauptsprache gibt?
z. B.:
DE (Hauptsprache), NL, FR
Seite zwischen der gewechselt werden soll existiert nur in den Sprachen NL und FR. Also nicht in dem Fallback DE.
Gruß
Ich würde gerne einen Insert Tag analog zu link_url
realisieren mit dem man eine bestimmte Spracheversion einer PageID ansteuern kann.
z.B.
{{link_url_lang::42:de}}
Fragen:
\ModuleChangelanguage::compile
und Ausgliederung einer entsprechenden Funktion zum Abrufen der Sprachversion - spricht etwas dagegen? Hätte das Chancen gemergt zu werden?In dem Zuge bitte ich euch auch um Feedback zu #48 - warum das nicht im master ist. Danke :) !
Unsere SEO Abteilung hätte gerne alternate hreflang Tags für de-CH und de-AT.
Aktuell habe ich das durch einen "Hack" gelöst:
--- ModuleChangeLanguage.php (revision 1008)
+++ ModuleChangeLanguage.php (revision 1009)
@@ -311,6 +311,14 @@
if ($blnDirectFallback) {
$GLOBALS['TL_HEAD'][] = '<link rel="alternate" hreflang="' . $arrRootPage['language'] . '" lang="' . $arrRootPage['language'] . '" href="' . specialchars($domain . $href) . '" title="' . specialchars($pageTitle, true) . '"' . ($objPage->outputFormat == 'html5' ? '>' : ' />');
+
+ if ($arrRootPage['language'] == 'de') {
+ foreach(array('de-CH', 'de-AT') as $replicateLang) {
+ $GLOBALS['TL_HEAD'][] = '<link rel="alternate" hreflang="' . $replicateLang . '" lang="' . $replicateLang . '" href="' . specialchars($domain . $href) . '" title="' . specialchars($pageTitle, true) . '"' . ($objPage->outputFormat == 'html5' ? '>' : ' />');
+ }
+
+ }
}
$c++;
hätte soetwas Chancen auf einen Merge? ggf. würde ich die "replicateLang" noch konfigurierbar machen. Oder ist das zu speziell?
I figured out, that if you copy a page from the non language fallback page-tree that has already a fallback page id in the field "languageMain" and paste the page to the language fallback page-tree, the field "languageMain" is not overwritten with 0. So the side effect is that now 2 pages exist, with the same "languageMain" value, and the wrong objPage->row() may be used for $href, that is submitted to the Template.
Therefor the connection between the 2 desired pages is broken.
Probably there should be a onSaveCallback in your the tl_page.php DCA that sets the field "languageMain" to 0 or NULL if the page ist saved within the language-fallback page-tree (so its root page is the language fallback).
Yours,
Johannes Pichler
There is a problem in php 7.0
Fatal error: Uncaught exception Error with message Function name must be a string thrown in system/modules/changelanguage/ModuleChangeLanguage.php on line 204
#0 system/modules/core/modules/Module.php(282): ModuleChangelanguage->compile()
#1 system/modules/changelanguage/ModuleChangeLanguage.php(72): Contao\Module->generate()
#2 system/modules/core/library/Contao/Controller.php(313): ModuleChangelanguage->generate()
#3 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule(Object(Contao\ModuleModel), 'header')
#4 system/modules/core/controllers/FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#5 index.php(20): Contao\FrontendIndex->run()
#6 {main}
Habe eine E-Mail an @aschempp geschickt mit weiteren Informationen.
The field customLanguageText
of tl_module
is missing its label in the translations, e.g.: terminal42/contao-changelanguage/languages/de/tl_module.php#L38
$GLOBALS['TL_LANG']['tl_module']['customLanguageText'] = array(' ', 'Bitte geben Sie einen Ersatz für jede Sprache ein.');
This causes the checkbox label to be empty when editing the rights of users or groups: contao/core#7858
Situation:
Fallback-Seite wurde zugewiesen. Wechsel klappt zwischen beiden Sprachen
Die Fallback-Seite wurde gelöscht, eine neue angelegt.
Diese neue Seite wurde als Fallback entsprechend wieder definiert.
Nun funktioniert der Wechsel auf die Fallback-Seite, aber nicht mehr zurück.
Man gelangt auf die übergeordnete Seite.
Getestet mit Contao 3.2.5 und 3.2.8
Hi,
die derzeitige Implementierung des hreflang-Tags ist nicht optimal/falsch. Ich habe mich dazu mit diversen SEO-Kollegen beraten und wir kamen alle zu dem Schluss, dass es so aussehen muss, um ungewünschte Ranking-Effekte zu vermeiden:
Ist:
<link rel="alternate" hreflang="de" lang="de" href="de/" title="Contao Open Source CMS“>
Soll:
<link rel="alternate" hreflang="de" href="https://contao.org/de/">
Das bedeutet, dass der title und lang entfernt werden müssen und der href sollte die vollständige URL zeigen.
Viele Grüße,
Kim
On severall Installations of contao 3.1.x on different servers, on each we get this bug:
[02-Sep-2013 14:34:10 CET] PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: Unknown column 'j1.languageMain' in 'field list' (SELECT tl_calendar.*, j1.id AS jumpTo__id, j1.pid AS jumpTo__pid, j1.sorting AS jumpTo__sorting, j1.tstamp AS jumpTo__tstamp, j1.title AS jumpTo__title, j1.alias AS jumpTo__alias, j1.type AS jumpTo__type, j1.pageTitle AS jumpTo__pageTitle, j1.language AS jumpTo__language, j1.robots AS jumpTo__robots, j1.description AS jumpTo__description, j1.redirect AS jumpTo__redirect, j1.jumpTo AS jumpTo__jumpTo, j1.url AS jumpTo__url, j1.target AS jumpTo__target, j1.dns AS jumpTo__dns, j1.staticFiles AS jumpTo__staticFiles, j1.staticPlugins AS jumpTo__staticPlugins, j1.fallback AS jumpTo__fallback, j1.adminEmail AS jumpTo__adminEmail, j1.dateFormat AS jumpTo__dateFormat, j1.timeFormat AS jumpTo__timeFormat, j1.datimFormat AS jumpTo__datimFormat, j1.createSitemap AS jumpTo__createSitemap, j1.sitemapName AS jumpTo__sitemapName, j1.useSSL AS jumpTo__useSSL, j1.autoforward AS jumpTo__autoforward, j1.protected AS jumpTo__protected, j1.groups AS jumpTo__groups, j1.includeLayout AS jumpTo__includeLayout, j1.layout AS jumpTo__layout, j1.mobileLayout AS jumpTo__mobileLayout, j1.includeCache AS jumpTo__includeCache, j1.cache AS jumpTo__cache, j1.includeChmod AS jumpTo__includeChmod, j1.cuser AS jumpTo__cuser, j1.cgroup AS jumpTo__cgroup, j1.chmod AS jumpTo__chmod, j1.noSearch AS jumpTo__noSearch, j1.cssClass AS jumpTo__cssClass, j1.sitemap AS jumpTo__sitemap, j1.hide AS jumpTo__hide, j1.guests AS jumpTo__guests, j1.tabindex AS jumpTo__tabindex, j1.accesskey AS jumpTo__accesskey, j1.published AS jumpTo__published, j1.start AS jumpTo__start, j1.stop AS jumpTo__stop, j1.languageMain AS jumpTo__languageMain, j1.languageRoot AS jumpTo__languageRoot FROM tl_calendar LEFT JOIN tl_page j1 ON tl_calendar.jumpTo=j1.id ORDER BY title)' thrown in /kunden/300419_8021/web/2279587/A2279587/fttgmbh.ch/preview/system/modules/core/library/Contao/Database/Statement.php on line 346
It is sometime possible to integrate fallback-selection at news?
Hallo,
ich fände super, wenn man changelanguage generell auch für News und Events einsetzen könnte, statt einzeln für die jeweiligen Module die entsprechende Erweiterung zu installieren. Andreas wies mich schon auf https://github.com/terminal42/contao.../release/3.0.0 hin, aber das funktioniert leider mit der 3.3.3-Version nicht. Deswegen möchte ich es hier noch einmal als Idee anstoßen. :-)
Liebe Grüße,
Jan
Currently changelanguage only allows language fallbacks/switch for different languages on the same domain. However, it might be useful if changelanguage also allows language fallbacks on different domains, e.g. when the different languages of your website are spread across different domains
domain.com
domain.de
domain.fr
It still generates links like news/items/some-news.html
if auto_item
option is enabled.
So, I think some part of the code at line 232 of ModuleChangeLanguage.php
should be like this:
<?php
foreach( $arrParams['url'] as $k => $v )
{
if ($GLOBALS['TL_CONFIG']['useAutoItem'] && in_array($k, array('items', 'events', 'auto_item')))
{
$strParam .= '/' . $v;
}
else
{
$strParam .= '/' . $k . '/' . $v;
}
}
And, for example, in NewsLanguage
module we should use this code:
<?php
public function translateUrlParameters($arrGet, $strLanguage, $arrRootPage)
{
if (!(isset($_GET['items']) || ($GLOBALS['TL_CONFIG']['useAutoItem'] && isset($_GET['auto_item']))))
{
return $arrGet;
}
// Set the item from the auto_item parameter
if ($GLOBALS['TL_CONFIG']['useAutoItem'] && isset($_GET['auto_item']))
{
$this->Input->setGet('items', $this->Input->get('auto_item'));
}
$strItem = $this->Input->get('items');
Folgendes Problem: Wenn man sich auf einer Detailseite befindet, z.B. bei Events Erweiterung domain.de/event/event-slug.html, wird für die aktive Sprache so etwas in Code erscheinen href="event.html"
, also ein Link zu "parent" Seite die Details-Modul hat.
Eine mögliche Lösung wäre die aktive URL getrennt zu bestimmen und dabei wenn nötig auch auto Item zu beachten. In ModuleChangeLanguage.php
if ($blnDirectFallback) {
$hrefUrl = ($active) ? specialchars($domain . $this->getCurrentUrl()) : specialchars($domain . $href) ;
$GLOBALS['TL_HEAD'][] = '<link rel="alternate" hreflang="' . $arrRootPage['language'] . '" lang="' . $arrRootPage['language'] . '" href="' . $hrefUrl . '" title="' . specialchars($pageTitle, true) . '"' . ($objPage->outputFormat == 'html5' ? '>' : ' />');
}
Und dann die Funktion die URL bestimmt beachtet auch auto_item Param:
/**
* Determine active url including auto item
*
* @return string
*/
protected function getCurrentUrl() {
global $objPage;
$strCurrentUrl = ($GLOBALS['TL_CONFIG']['useAutoItem'] && isset($_GET['auto_item']))
? $this->generateFrontendUrl($objPage->row(), '/' . \Input::get('auto_item'))
: $this->generateFrontendUrl($objPage->row());
return $strCurrentUrl;
}
Nach Bedarf kann man diese noch z.B. um query string erweitern.
Hi,
a nice feature will be to automatically add the
<link rel="alternate" hreflang="..." href="..." />
tag in the generated pages that have a translated version.
take a look at http://www.w3.org/TR/html401/struct/links.html#adef-hreflang
Hello,
When a user is connected to his account in front, while reading a protected Current events, the module change language, fails to find similar news in another language.
I have identified the source of the problem. It is done in the file ModuleChangeLanguage.php line 280.
In online mode, findPublishedByParentAndIdOrAlias returns NULL. So I went in the office, I found that making a dump static :: findBy (...) the query is not equal to NULL, but if I dump the returned value I get findPublishedByParentAndIdOrAlias NULL.
THX
Is there a possibility to add dir-ltr or dir-rtl to the body class, depending on the language and writing direction of the language? Or maybe as an additional preference in the module settings?
Or maybe this is a topic for /contao/core itself?
Please could you add a lang
attribute for each link.
Example :
The language of the website is in French but the link is in German.
This difference must be specified using the lang
attribute.
<a hreflang="de" class="lang-de first" lang="de" title="Home" href="de/home.html">Deutsch</a>
Wir haben mit der CCA (Oli vorrangig) eine neue Bibliothek geschrieben mit der wir Kreuzverbindungen in den Seiten schaffen:
https://github.com/contao-community-alliance/language-relations
Diese Language Relations nutzen wir z.B. im Backend Language Switcher (https://github.com/menatwork-ia/backend-language-switcher). Die Implementierung bietet einfach den riesen Vorteil das man aufeinmal die Verbindung zwischen allen Seiten schaffen kann und alle anderen Seiten diese Verbindung dann auch erhalten. Es fällt die Fallback Seite weg, da es in vielen Installationen keinen Startpunkt gibt der alle Seiten enthält und alle anderen richten sich nach ihm. Insgesamt wird dadurch die Pflege deutlich vereinfacht.
Daher meine Bitte, gerne auch Hilferuf an euch: Könntet ihr euch darauf einlassen das wir diese Extension als Alternative in Changelanguage anbieten? Ihr könnt ja eure bisherige Variante drin lassen aber es wäre ja schön das Changelanguage automatisch auf die neuen Verbindungen umsteigt sobald Language Relations installiert ist.
Und in der composer.json setzt man die Ext nicht als Abhängigkeit sondern als Empfehlung. Dann profitieren alle Seiten.
Forgive me if I'm wrong, but would it not be better with a no fallback to jump to the main page instead of the parent node
For example:
When I visit the page 1.1 and switch to the language, I am redirected to page 1.
Would not it be better to go to the main page instead of the parent node?
in this line
the check if the param is an Array is missing.Otherwise the URL is not build correctly.
Proposal:
foreach( $arrParams['get'] as $k => $v )
{
if (!is_array($v))
{
$arrRequest[] = $k . '=' . $v;
}
else
{
foreach ($v as $vv)
{
$arrRequest[] = $k . '[]=' . $vv;
}
}
}
changelanguage generates a wrong link, when 2 conditions are fulfilled:
In this case, changelanguage should link to the frontpage of the tree of the requested language, such as domain.tld/en/home.html.
But in the link, the language-code is dropped. The resulting href looks like this: domain.tld//home.html.
Currently you can view it here: http://cms.farmers-outdoor.net/de/sortiment.html
The module, even when i've set the access protection, shows in the frontend without logging in.
I will relaunch a Contao 2.9-based project soon. For the relaunch, I want to re-use [changelanguage] again. Since I also want to use [backend-language-switcher], I'd like to have [changelanguage] also depend on [language-relations] to ensure consistency. This is already done in the develop
branch and the Composer dev-develop
version. However, that branch has not been updated since last November and the package is not marked as compatible with Contao 3.5. Also, I'm a bit hesitant to run a develop version on a production system. This leads to the following questions:
develop
at all, or will you go straight to Contao 4 resp. the branch?Thanks in advance!
Nach dem Kopieren einer Seite aus einem Sprachbaum in den Fallback-Baum funktioniert die Verlinkung aus dem Falback-Tree in einen anderen Sprachbaum nicht.
Das liegt daran, dass die kopierte Seite bereits eine Fallbackseite zugewiesen bekam, welche dann auch in der DB steht. In dem Fallback-Baum hat man aber dieses Feld für die Zuweisung nicht, so dass ich die Zuweisung dort wieder entfernen könnte.
Ich konnte die Zuweisung jetzt ohne DB-Zugriff wieder entfernen, indem ich diese eine Seite über "mehrere bearbeiten" bearbeitet habe. Dort sieht man dann das Feld für die Zuweisung und kann sie wieder aufheben. Danach funktioniert wieder alles.
Könntest du den Code bitte so verändern, dass beim Setzen der Verlinkung die Fallbackzuweisung dann ignoriert wird, wenn die Seite in dem Fallbackbaum liegt?
Hi,
aktuell ist es möglich, in meinem Seitenbaum der "Nicht-Fallback-Sprache" mehrere Seiten einer Fallbacksprache zuzuordnen... bei sehr großen Seitenbäumen hat man sich in dem Pull-Down der Fallback-Seiten schnell verklickt.
Könnte man dem User hier nicht etwas mehr Hilfe geben z.B.
Da die Sachen gut per CSS einstellbar sind, müssten die Einträge "nur" eine entsprechende CSS-Klasse erhalten.
Hätten wir eine Option im Backend, absolute URLs statt relative verwenden?
In der "officiellen" Google-Dokumentation (https://support.google.com/webmasters/answer/189077?hl=de) sind alle Beispiele mit absoluten URLs.
Hallo,
ich habe von Google eine Email bekommen, dass einige Seiten keine Rücklinks aufweisen.
Ist es möglich das html href-Tag komplett auszuschalten, wenn keine Fallbacksprache gesetzt ist?
Contao 3.4.4
changelanguage 2.2.8 6
For full Google support the head link should looks like:
<link rel="alternate" hreflang="de" lang="de" href="http://www.example.com/de/startseite.html" title="Startseite">
In the latest version it looks like:
<link rel="alternate" hreflang="de" lang="de" href="de/startseite.html" title="Startseite">
Die Domain bzw. der TL_PATH wird nicht übernommen und es wird lediglich der ALIAS in das link Tag gesetzt. Einzusehen ist dies über http://flang.dejanseo.com.au/ jegliche Seite mit changelanguage Modul.
I use a contao 3.1.0 version with changelangauge 2.2.0 build 8 version.
Am i right that there is no more an active class?
Get this code output:
<nav class="mod_changelanguage block">
<ul class="level_1">
<li class="lang-de first"><a href="index.php/de/produkte.html" title="Produkte" class="lang-de first" hreflang="de">DE</a></li>
<li class="lang-en last"><span class="lang-en last">EN</span></li>
</ul>
</nav>
In a 2.11.11 contao version i get this code output:
<div class="mod_changelanguage block">
<ul class="level_1">
<li class="active lang-de first"><span class="active lang-de first">Deutsch</span></li>
<li class="lang-en last"><a href="home_en.html" title="Home" class="lang-en last" hreflang="en">English</a></li>
</ul>
</div>
Is this a bug?
Ich will in einer 3.0 Installation (läuft einwandfrei, sauber neu aufgesetzt) Mehrsprachigkeit realisieren. changelanguage lässt sich aus dem Erweiterungskatalog installieren (für V3 freigegeben), die Zuordnung der Seiten funktioniert ebenfalls, allerdings gibt es eine Fehlermeldung, wenn man Artikelheader (Titel, Suchbegriffe,...) bearbeiten will:
Fatal error: Call to a member function findMainLanguagePageForPage()
on a non-object in [..]\system\cache\dca\tl_article.php on line 939
Die Installation läuft versuchsweise auf localhost.
Add multinational Sitemaps
see: http://googlewebmastercentral.blogspot.de/2012/05/multilingual-and-multinational-site.html
Offensichtlich ist es keine gute Idee, changelanguage vor dem Einrichten einer Seitenstruktur zu installieren. Das resultiert in einen weißen Bildschirm nach Download und Kopieren der benötigten Dateien und unbenutzbarkeit des Backends.
So geschehen mit Contao 3.3.3 und changelanguage 2.2.4 Build 2.
Fehlermeldung:
[08-Jul-2014 16:42:49 Europe/Berlin] PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: Unknown column 'j1.languageMain' in 'field list' (SELECT tl_form.*, j1.id AS jumpTo__id, j1.pid AS jumpTo__pid, j1.sorting AS jumpTo__sorting, j1.tstamp AS jumpTo__tstamp, j1.title AS jumpTo__title, j1.alias AS jumpTo__alias, j1.type AS jumpTo__type, j1.pageTitle AS jumpTo__pageTitle, j1.language AS jumpTo__language, j1.robots AS jumpTo__robots, j1.description AS jumpTo__description, j1.redirect AS jumpTo__redirect, j1.jumpTo AS jumpTo__jumpTo, j1.url AS jumpTo__url, j1.target AS jumpTo__target, j1.dns AS jumpTo__dns, j1.staticFiles AS jumpTo__staticFiles, j1.staticPlugins AS jumpTo__staticPlugins, j1.fallback AS jumpTo__fallback, j1.adminEmail AS jumpTo__adminEmail, j1.dateFormat AS jumpTo__dateFormat, j1.timeFormat AS jumpTo__timeFormat, j1.datimFormat AS jumpTo__datimFormat, j1.createSitemap AS jumpTo__createSitemap, j1.sitemapName AS jumpTo__sitemapName, j1.useSSL AS jumpTo__useSSL, j1.autoforward AS jumpTo__autoforward, j1.protected AS jumpTo__protected, j1.groups AS jumpTo__groups, j1.includeLayout AS jumpTo__includeLayout, j1.layout AS jumpTo__layout, j1.mobileLayout AS jumpTo__mobileLayout, j1.includeCache AS jumpTo__includeCache, j1.cache AS jumpTo__cache, j1.includeChmod AS jumpTo__includeChmod, j1.cuser AS jumpTo__cuser, j1.cgroup AS jumpTo__cgroup, j1.chmod AS jumpTo__chmod, j1.noSearch AS jumpTo__noSearch, j1.cssClass AS jumpTo__cssClass, j1.sitemap AS jumpTo__sitemap, j1.hide AS jumpTo__hide, j1.guests AS jumpTo__guests, j1.tabindex AS jumpTo__tabindex, j1.accesskey AS jumpTo__accesskey, j1.published AS jumpTo__published, j1.start AS jumpTo__start, j1.stop AS jumpTo__stop, j1.languageMain AS jumpTo__languageMain, j1.languageRoot AS jumpTo__languageRoot FROM tl_form LEFT JOIN tl_page j1 ON tl_form.jumpTo=j1.id ORDER BY title)' thrown in /system/modules/core/library/Contao/Database/Statement.php on line 283
#0 /system/modules/core/library/Contao/Database/Statement.php(254): Contao\Database\Statement->query()
#1 /system/modules/core/library/Contao/Model.php(950): Contao\Database\Statement->execute(NULL)
#2 /system/modules/core/library/Contao/Model.php(869): Contao\Model::find(Array)
#3 /system/modules/directentries/classes/DirectEntryForm.php(34): Contao\Model::findAll(Array)
#4 /system/modules/core/library/Contao/System.php(322): DominikZogg\DirectEntries\DirectEntryForm->prepare('default', 'de', 'de')
#5 /contao/main.php(107): Contao\System::loadLanguageFile('default')
#6 /contao/main.php(292): Main->__construct()
#7 {main}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.