[OJS3] theme migration from ojs2 to ojs3 - where is manage($verb) gone

HI,
I try to migrate my OJS-Theme to OJS3. In OJS2 one could set a up a custom settings page for per-journal-settings in the theme plugin:

function manage($verb) {
   if ($verb != 'settings') return false;
   
   $journal =& Request::getJournal();
   $journalId = ($journal ? $journal->getId() : CONTEXT_ID_NONE);
   $templateMgr =& TemplateManager::getManager();
   
   $templateMgr->register_function('plugin_url', array(&$this, 'smartyPluginUrl'));
   $templateMgr->setCacheability(CACHEABILITY_MUST_REVALIDATE);
   
   $this->import('DainstThemeSettingsForm');
   $form = new DainstThemeSettingsForm($this, $journalId);
   if (Request::getUserVar('save')) {
      $form->readInputData();
      if ($form->validate()) {
         $form->execute();
         Request::redirect(null, 'manager', 'plugin', array('themes', 'DainstThemePlugin', 'settings'));
      } else {
         $this->setBreadCrumbs(true);
         $form->display();
      }
   } else {
      $this->setBreadCrumbs(true);
      $form->initData();
      $form->display();
   }

   return true;
   
}

I see that there is a new mechanic as one can use $this->addOption to make some options available in the Appereance Wizard. But I have a more complicated interface to choose some options, how can integrate this form in the OJS3?

Thanks so much for your help as always,
best wishes,
Paf

Hi @paf,

In OJS3, there’s still a manage function, but we’ve introduced classes to represent actions within grids (a common UI tool in OJS 3 that takes the place of all the bespoke HTML tables that used to exist in OJS2). See e.g. the web feed plugin for an example of how this works in presenting a settings form.

Regards,
Alec Smecher
Public Knowledge Project Team