Git Product home page Git Product logo

imi_mm_changelanguage's Introduction

Contao Module imi_mm_changelanguage

This module adds compatibility between Contao MetaModels and Terminal 42 changelanguage.

Example:

If you have a URL like https://example.com/products and a German fallback page https://example.com/produkte where products are added via Metamodels (https://example.com/products/vacum-cleaner), the language switcher will link to https://example.com/produke/staubsauger and all other translated products.

Compatibility

  • Version 3.x - Tested on Contao 4.9.9/4.13.x and MetaModels 2.2/2.3
  • Version 2.x - Tested on Contao 4.4 and MetaModels 2.1

Installation

Install the module as usual using the composer client with the module name imi/imi_mm_changelanguage in the backend or using Contao Manager by searching for imi_mm_changelanguage

Configuration

The module automatically detects the meta models which used on the current page and whether a parameter auto_item is used as a filter. This parameter's value is then translated.

The autodetection can be overwritten via $GLOBALS['TL_CONFIG']['mm_changelanguage'] in initconfig.php. It must be an array with $metamodelName => $attributeName.

Example:

$GLOBALS['TL_CONFIG']['mm_changelanguage']['mm_products] = 'alias_translated';

About Us

iMi digital GmbH offers Contao related open source modules. If you are confronted with any bugs, you may want to open an issue here.

In need of support or an implementation of a modul in an existing system, free to contact us. In this case, we will provide full service support for a fee.

Of course we provide development of closed-source moduls as well.

Contao Modul imi_mm_changelanguage

Dieses Modul macht Contao MetaModels und das Sprachwechsler Modul Terminal 42 changelanguage kompatibel.

Beispiel:

Wenn Sie eine URL wie https://example.com/products und eine deutsche Fallback-Seite https://example.com/produkte haben, auf der Produkte über Metamodells (https://example.com/products/vacum-cleaner) hinzugefügt werden, wird der Sprachwechsler einen Links zu https://example.com/produke/staubsauger und allen anderen übersetzten Produkten verwenden.

Installation

Installieren Sie das Modul mit dem Composer Client oder Contao Manager. Der Modulname lautet imi/imi_mm_changelanguage

Bekannte Probleme

siehe oben (Englisch)

Über iMi digital

iMi digital GmbH bietet eine breite Auswahl an verschiedenen Open-Source-Module für Contao an. Beim Auftreten von Fragen oder Bugs kann hier sehr gerne ein Thread geöffnet werden.

Kontaktieren Sie uns gerne, wenn Sie Support für die Implementierung eines Moduls in ein bereits bestehendes CMS-System benötigen. In diesem Fall bieten wir einen kostenpflichtigen Full-Service-Support an.

imi_mm_changelanguage's People

Contributors

ainschy avatar amenk avatar bildschirmartist avatar ub3rl33t avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

imi_mm_changelanguage's Issues

Kein "URL-Parameter beibehalten" im Modul Sprachwechsler

Hallo,

ich habe heute ein Update von MM und changelanguage und imi_mm_changelanguage
gemacht.

contao 3.5.27
imi/imi_mm_changelanguage 1.2.2
terminal42/contao-changelanguage dev-hotfix/3.1.4 (587b58dc)
metamodels/core dev-master (08b50223)

Nun fehlt die Checkbox "URL-Parameter beibehalten" im Modul Sprachwechsler und ich erhalte die Fehlermeldung:
Fatal error: Call to undefined method MetaModels\Factory::getDefaultFactory() in [...]/system/modules/imi_mm_changelanguage/classes/ImiMMChangeLanguageObserver.php on line 46

und die Seite lädt nicht. Wenn ich imi/imi_mm_changelanguage deinstalliere, funktioniert der Sprachwechsel, aber ohne Parameterübergabe.

Erweiterung schafft Fehler bei Veranstaltungen (You must not have more than one auto_item parameter)

Hallo,

ich musste gerade feststellen, dass die Erweiterung sich wohl mit den Contao-Events beißt...
Die Meta-Models funktionieren bei mir super, wenn ich allerdings im FE auf die Detailseite eines gewöhnlichen Contao-Events gehe, wirft es mir diesen Fehler aus:

[2020-11-25 15:58:58] request.INFO: Matched route "contao_frontend". {"route":"contao_frontend","route_parameters":{"_token_check":true,"_controller":"Contao\\CoreBundle\\Controller\\FrontendController::indexAction","_scope":"frontend","_locale":"de","alias":"aktuell/veranstaltungen-und-messen/detail/eventTitel/","_route":"contao_frontend"},"request_uri":"https://www.meineSeite.de/de/aktuell/veranstaltungen-und-messen/detail/eventTitel/","method":"GET"} []

[2020-11-25 15:58:58] security.INFO: Attempting SimplePreAuthentication. {"key":"frontend","authenticator":"Contao\\CoreBundle\\Security\\ContaoAuthenticator"} []

[2020-11-25 15:58:58] app.CRITICAL: An exception occurred. {"exception":"[object] (RuntimeException(code: 0): You must not have more than one auto_item parameter at /www/htdocs/w01767ee/meineSeite/vendor/terminal42/contao-changelanguage/library/Terminal42/ChangeLanguage/Navigation/UrlParameterBag.php:188)"} []

Ist dieses Problem schon irgendwie bekannt? Bzw. habe ich irgendwo vielleicht eine Einstellung übersehen?

Vielen Dank schonmal!
Beste Grüße
Florin

Beispielkonfiguration

Hi,
ich habe eine Seite
www.example.tld/de/hotel/mein-super-hotel/
und erhalte dort leider nach der Installation dieser Erweiterung (v1.2.2) über Composer, Metamodels (v2.0.0-alpha14) und terminal42/contao-changelanguage (v3.1.3) noch keinen Link
www.example.tld/en/hotel/my-super-hotel/
obwohl die Seiten an sich existieren/funktionieren.
Stattdessen lande ich auf der "ohne Parameter"-Seite www.example.tld/en/hotel/.
Könnt ihr mir vielleicht einen Tipp geben, was ich falsch mache?
LG!

Mehrstufige Filter (war: Bitte um Hilfe bei der Konfiguration ohne auto_item)

Hallo,

ich nutze metamodels (2.0.0), changelanguage (3.1.9) und imi_mm_changelanguage (1.3.1) schaffe es aber nicht, das Ding richtig zu konfigurieren.

Ich nutze nicht den auto_item-Parameter sondern habe zwei Filtersätze angelegt, einen für DE und einen für EN. Beide nutzen die selben (übersetzten) Attribute der gleichen DB, unterscheiden sich aber beim URL-Parameter. Es geht um Reisen und die Attribute sind Stadt, Reiseart, -dauer und Personenanzahl.

Die Filter-Seiten haben also jeweils ein MetaModel-Filter-Modul und eine MetaModel-Liste, die mit dem DE- bzw. dem EN-Filter verknüpft sind. Die Seiten sind via changelanguage verbunden.

Ich habe versucht die Info aus der Beschreibung umzusetzen, also:

The autodetection can be overwritten via $GLOBALS['TL_CONFIG']['mm_changelanguage'] in initconfig.php. It must be an array with $metamodelName => $attributeName.

Es tut sich beim Umschalten der Sprache leider immer noch nichts. Die Filter werden unübersetzt übernommen. Z.B.: DE /de/tripfinder/ort/muenchen wird zu /en/tripfinder/ort/muenchen sollte aber zu en/tripfinder/location/munic werden.

Die system/config/initconfig.php sieht so aus:

$GLOBALS['TL_CONFIG']['mm_changelanguage'] = array(
"mm_reisen" => "art",
"mm_reisen" => "type",
"mm_reisen" => "ort",
"mm_reisen" => "location",
"mm_reisen" => "dauer",
"mm_reisen" => "duration",
"mm_reisen" => "personen",
"mm_reisen" => "persons",
);

Wäre super wenn mir jemand sagen könnte, wo mein Fehler liegt.

Danke & LG
Nicole

Fehlermeldung

ich habe das modul per Composer installiert und bekomme folgende Fehlermeldung:

Warning: Missing argument 4 for iMi\MMChangeLanguage\ImiMMChangeLanguageObserver::translateMMUrls(), called in /var/www/contao.web.local/public_html/system/modules/changelanguage/ModuleChangeLanguage.php on line 204 and defined in system/modules/imi_mm_changelanguage/classes/ImiMMChangeLanguageObserver.php on line 87

#0 system/modules/imi_mm_changelanguage/classes/ImiMMChangeLanguageObserver.php(87): __error(2, 'Missing argumen...', '/var/www/contao...', 87, Array)
#1 system/modules/changelanguage/ModuleChangeLanguage.php(204): iMi\MMChangeLanguage\ImiMMChangeLanguageObserver->translateMMUrls(Array, 'de', Array)
#2 system/modules/core/modules/Module.php(282): ModuleChangelanguage->compile()
#3 system/modules/changelanguage/ModuleChangeLanguage.php(72): Contao\Module->generate()
#4 system/modules/core/library/Contao/Controller.php(313): ModuleChangelanguage->generate()
#5 composer/vendor/contao/core/system/modules/core/library/Contao/InsertTags.php(465): Contao\Controller::getFrontendModule('92')
#6 system/modules/core/library/Contao/Controller.php(686): Contao\InsertTags->replace('...', false)
#7 system/modules/core/classes/FrontendTemplate.php(100): Contao\Controller::replaceInsertTags('...', false)
#8 system/modules/core/pages/PageRegular.php(190): Contao\FrontendTemplate->output(true)
#9 system/modules/core/controllers/FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#10 index.php(20): Contao\FrontendIndex->run()
#11 {main}

Der alias ist ein normaler (nicht übersetzter) Alias. Parameter auto_item.
(metamodels/core dev-master (31d9da66))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.