# Modulerstellung Oxid 6.2

**URL:** <https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641>\
**Category:** Deutsches Forum\
**Tags:** module, development, basics\
**Created:** [May 22, 2020, 10:01am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641 "2020-05-22T10:01:59Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 22, 2020, 10:01am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/1 "2020-05-22T10:01:59Z")

</div>

Hallo zusammen,

ich habe eine kurze Frage zur Modulerstellung in Oxid 6.2.  
Aus irgendeinem Grund erscheinen selbsterstellte Module nicht im Backend. Um auszuschließen, dass es aufgrund von Programmierfehlern passiert, habe ich folgende “Basis-Module” gemäß Anleitung nachgebaut:  
[https://oxidforge.org/en/module-development-oxid6-benefit-from-new-features.html](https://oxidforge.org/en/module-development-oxid6-benefit-from-new-features.html)  
[https://docs.oxid-esales.com/developer/en/6.2/development/modules\_components\_themes/module/tutorials/module\_setup.html](https://docs.oxid-esales.com/developer/en/6.2/development/modules_components_themes/module/tutorials/module_setup.html)

Die metadata.php und composer.json wurde angelegt. Der lokale Pfad wurde in repositories aufgeführt und das Modul schließlich über composer installiert.  
Obwohl keine Fehlermeldungen kommen, erscheinen die Module nicht im Backend.  
Auch eine manuelle Installation über `vendor/bin/oe-console oe:module:install-configuration source/modules/<module-vendor>/<module-name>` bringt keine Änderung.

Gibt es noch einen Trick, um das Modul sichtbar zu machen?  
Vielen Dank für eure Unterstützung.

---

<div class="post-metadata">

**Author:** ![rubbercut](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/rubbercut/32/3520_2.png) [@rubbercut](https://forum.oxid-esales.com/u/rubbercut)\
**Post date:** [May 22, 2020, 10:59am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/2 "2020-05-22T10:59:37Z")

</div>

Die Infos sind ein wenig dürftig, um den Fehler einzugrenzen.  
**Sichtbar** : Also angezeigt wird normalerweise erstmal jede Info einer Metadata, sofern das Modul im richtigen Ordner liegt. Wurde das Modul denn tatsächlich an die richtige Stelle kopiert? (/source/modules/)

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 22, 2020, 11:11am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/3 "2020-05-22T11:11:12Z")

</div>

Danke für die schnelle Antwort. Also die metadata.php liegt in /source/modules/xyz/examplemodule.  
Inhalt der Datei ist wie im Tutorial beschrieben:  
$sMetadataVersion = ‘2.0’;  
$aModule = array(  
‘id’ =\> ‘oxsexamplemodule’,  
‘title’ =\> ‘Example Module’,  
);

---

<div class="post-metadata">

**Author:** ![tabsl](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/tabsl/32/2468_2.png) [@tabsl](https://forum.oxid-esales.com/u/tabsl)\
**Post date:** [May 22, 2020, 11:23am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/4 "2020-05-22T11:23:10Z")

</div>

ist ein eintrag im yaml-file vorhanden?

hast du das modul mal versucht über die console zu aktivieren?

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 22, 2020, 11:26am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/5 "2020-05-22T11:26:17Z")

</div>

Habe ich versucht mit `php vendor/bin/oe-console oe:module:install-configuration source/modules/xyz/examplemodule`.  
Es erscheint aber kein Eintrag darüber in der 1.yaml (var/configuration/shops).

---

<div class="post-metadata">

**Author:** ![tabsl](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/tabsl/32/2468_2.png) [@tabsl](https://forum.oxid-esales.com/u/tabsl)\
**Post date:** [May 22, 2020, 12:25pm UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/6 "2020-05-22T12:25:18Z")

</div>

dann wurde das modul auch nicht installiert. normalerweise kommt da auch eine ausgabe …

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 22, 2020, 12:31pm UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/7 "2020-05-22T12:31:29Z")

</div>

Ja, davon gehe ich auch aus. Aber woran kann das liegen? Kann es sein, dass die oe-console nicht richtig funktioniert? Ich bekomme schon keine Ausgabe über ssh, wenn ich `vendor/bin/oe-console -h` aufrufe. Ich habe es mit php7.2 und php7.4 versucht und es gibt keinen Unterschied.  
Danke für eure Unterstützung, um den Fehler weiter einzugrenzen.

---

<div class="post-metadata">

**Author:** ![tabsl](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/tabsl/32/2468_2.png) [@tabsl](https://forum.oxid-esales.com/u/tabsl)\
**Post date:** [May 22, 2020, 1:11pm UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/8 "2020-05-22T13:11:03Z")

</div>

das muss eigentlich eine ausgabe bringen.

poste mal deine `metadata.php` …

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 22, 2020, 1:14pm UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/9 "2020-05-22T13:14:30Z")

</div>

```
$sMetadataVersion = '2.0';
$aModule = array(
'id' => 'oxsexamplemodule',
'title' => 'Example Module',
);
```

---

<div class="post-metadata">

**Author:** ![tabsl](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/tabsl/32/2468_2.png) [@tabsl](https://forum.oxid-esales.com/u/tabsl)\
**Post date:** [May 22, 2020, 1:36pm UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/10 "2020-05-22T13:36:04Z")

</div>

ergänz mal …

```
'description' => '',
'thumbnail' => 'picture.png',
'version' => '2.0',
'author' => 'OXID eSales AG',
```

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 26, 2020, 5:46am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/11 "2020-05-26T05:46:40Z")

</div>

Habe die metadata.php ergänzt und nochmal mit composer installiert. Leider bringt das keine Verbesserung. Das Modul ist immer noch nicht in der 1.yaml und im Backend sichtbar.  
Hat noch jemand eine andere Idee? Vielen Dank. 🙂

---

<div class="post-metadata">

**Author:** ![leofonic](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/leofonic/32/58_2.png) [@leofonic](https://forum.oxid-esales.com/u/leofonic)\
**Post date:** [May 26, 2020, 6:49am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/12 "2020-05-26T06:49:06Z")

</div>

> [@creeko](#):
>
> Ich bekomme schon keine Ausgabe über ssh, wenn ich `vendor/bin/oe-console -h`

Da stimmt wohl schon was nicht. Was ist denn das für eine Umgebung?

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 26, 2020, 7:20am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/13 "2020-05-26T07:20:07Z")

</div>

@leofonic Das ist ein Managed-Shop-Hosting Paket bei profihost mit MySQL 5.7. PHP ist mit 7.2 und 7.4 das gleiche Szenario. Welche Infos brauchst du noch?

---

<div class="post-metadata">

**Author:** ![tabsl](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/tabsl/32/2468_2.png) [@tabsl](https://forum.oxid-esales.com/u/tabsl)\
**Post date:** [May 26, 2020, 7:31am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/14 "2020-05-26T07:31:19Z")

</div>

dann wende dich am besten mal an deinen hoster, weil die standardausgabe mit der console muss kommen …

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 26, 2020, 8:02am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/15 "2020-05-26T08:02:00Z")

</div>

@tabsl Ok, danke für den Tipp. Supportanfrage ist raus. Mal schauen, was die sagen.

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 26, 2020, 8:52am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/16 "2020-05-26T08:52:18Z")

</div>

Also es fehlte ein extra alias `php="/usr/local/php7.2/bin/php"`. Im Standard scheint hier die php 5.6 aktiv zu sein.  
Jetzt bekomme ich eine Ausgabe mit der oe-console und konnte das Modul mit `php vendor/bin/oe-console oe:module:install-configuration source/modules/xyz/examplemodule` installieren und im Backend aktivieren

Muss man das nun bei jedem Modul so machen? Ich hatte gedacht, dass composer das eigentlich alles alleine macht und man es dadurch leichter hat. Was ist hier der korrekte Weg?

---

<div class="post-metadata">

**Author:** ![leofonic](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/leofonic/32/58_2.png) [@leofonic](https://forum.oxid-esales.com/u/leofonic)\
**Post date:** [May 26, 2020, 9:35am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/17 "2020-05-26T09:35:35Z")

</div>

> [@creeko](#):
>
> Ich hatte gedacht, dass composer das eigentlich alles alleine macht und man es dadurch leichter hat

Ob man es dadurch leichter hat ist diskutabel. Aber eigentlich wird bei composer update (also auch bei require) das Modul automatisch in der yaml registriert.

---

<div class="post-metadata">

**Author:** ![creeko](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@creeko](https://forum.oxid-esales.com/u/creeko)\
**Post date:** [May 26, 2020, 10:20am UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/18 "2020-05-26T10:20:27Z")

</div>

Ja, so hatte ich es auch verstanden. Gibt es Möglichkeiten, diesen Fehler noch weiter einzuschränken, warum bei composer require nichts in die yaml geschrieben wird?

---

<div class="post-metadata">

**Author:** ![tabsl](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/tabsl/32/2468_2.png) [@tabsl](https://forum.oxid-esales.com/u/tabsl)\
**Post date:** [May 26, 2020, 12:32pm UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/20 "2020-05-26T12:32:32Z")

</div>

in 6.2 gibt es zwei möglichkeiten module zu installieren:#  
a) composer (installiert automatisch die modulkonfiguration)  
b) console install-configuration (wie oben beschrieben)

in beiden fällen muss aber das modul dann noch aktiviert werden, entweder über den admin über die console

---

<div class="post-metadata">

**Author:** ![system](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/system/32/4245_2.png) [@system](https://forum.oxid-esales.com/u/system)\
**Post date:** [May 26, 2021, 12:32pm UTC](https://forum.oxid-esales.com/t/modulerstellung-oxid-6-2/96641/21 "2021-05-26T12:32:34Z")

</div>

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
