XF2.2 Mehreren Prefixe auf einmal erstellen

Maestro2k5

Bekanntes Mitglied
Lizenzinhaber
Registriert
28. März 2013
Beiträge
3.177
Punkte
178
XF Version
  1. 2.2.10 PL1
XF Instanz
Hosting
PHP-Version
8.1,x
MySQL/MariaDB
10.5.x
Provider/Hoster
Dogado
Hallo und guten Abend,

gibt es ein Addon oder Trick wie ich mehrere Prefixe in einer Gruppe gleichzeitig erstellten kann ohne die einzeln zu erstellen?. Am besten als Liste oder ähnliches.

Mfg

Maestro2k5
 
Das sind ja ein paar mehr Einstellungen, ich kenne nichts.
Was ich in der Regel aber immer hinterher mache, und nicht beim erstellen, ist das Zuweisen zu Foren, das geht unter Umständne im Forum selber schneller.
 
Mir würde reichen in Präfix Gruppe x zb 10 Präfixe mit Standard Einstellungen zu erstellen.

Habe auch schon gesucht und nichts gefunden. Ich glaube da noch mehr Zeit zu investieren hat man die einzeln erstellt. Dennoch Danke.
 
Dann ist evtl. ein Script schneller geschrieben.

Kleinen Array aufbauen und dann ein Threadrefix entity erstellen, Daten schreiben speichern. Sollte fix gehen.
 
Mit der heissen Nadel gestrickt. Gehört in einen Admin Controller.
PHP:
    protected function createPrefixes()
    {
        $prefixes = [
            [
                'phrases' => [
                    'title' => 'Mein Titel',
                    'description' => 'Beschreibung',
                ],
                ['node_ids'] = [1,2,3],
                ['data'] => [
                    'css_class' => 'label label--olive',
                    'prefix_group_id' => 'yourgroupid',
                    'display_order' => 100,
                ],
            ],
            [
                'phrases' => [
                    'title' => 'Mein Titel 2',
                    'description' => 'Beschreibung 2',
                ],
                ['node_ids'] = [1,2,3],
                ['data'] => [
                    'css_class' => 'label label--olive',
                    'prefix_group_id' => 'yourgroupid',
                    'display_order' => 200,
                ],
            ],
           
        ];
        $ForumPrefixRepo = $this->repository('XF:ForumPrefix');
       
        foreach ($prefixes as $id => $prefix)
        {
            $newPrefix = $this->em()->create('XF:ThreadPrefix');
            $newPrefix->bulkSet($prefix['data']);
            $newPrefix->save();
            if ($prefix['phrases']['title'])
            {
                $title = $newPrefix->getMasterPhrase(true);
                $title->phrase_text = $prefix['phrases']['title'];
                $title->save();
            }
            if ($prefix['phrases']['description'])
            {
                $description = $newPrefix->getMasterPhrase(false);
                $description->phrase_text = $prefix['phrases']['description'];
                $description->save();
            }
            $ForumPrefixRepo->updatePrefixAssociations($prefix, $prefix[node_ids]);
        }
    }
 
Ist ungetestet, aber die Basis war ein lauffähiges Script mit dem ich ThreadFields programatisch erstelle.
 
Zurück
Oben