web-dev-qa-db-fra.com

Comment créer une page d'administration personnalisée dans opencart?

Je veux savoir comment créer une page de panneau d'administration personnalisée dans opencart.

Nécessite une connexion avec le contrôleur - le panneau d'administration ne semble pas utiliser le même contrôleur que le site normal. Je sais comment faire des pages personnalisées avec opencart (mais ce n'est pas pour l'administrateur)

Un exemple simple de Hello World serait formidable

31
TheBlackBenzKid

OpenCart 2.x

Les noms de chemin ont changé dans OpenCart 2 - vous voudrez créer

admin/controller/extension/module/hello.php admin/language/en-gb/extension/module/hello.php admin/view/template/extension/module/hello.tpl Puis l'itinéraire devient

admin/index.php?route=extension/module/hello

OpenCart 1.x

  • Inclut le flux MVC complet.

J'ai découvert comment faire ça. OpenCart utilise le modèle MVC. Je recommande la lecture de Comment être un gourou d'OpenCart? poste sur l'apprentissage du fonctionnement du système - ce flux de travail Admin devrait également suffire pour le client.

1) Créez un nouveau fichier dans admin/controller/custom/helloworld.php

Votre nom de fichier et le nom du contrôleur doivent être les mêmes dans l'ordre desc:

helloworld.php

<?

class ControllerCustomHelloWorld extends Controller{ 
    public function index(){
                // VARS
                $template="custom/hello.tpl"; // .tpl location and file
        $this->load->model('custom/hello');
        $this->template = ''.$template.'';
        $this->children = array(
            'common/header',
            'common/footer'
        );      
        $this->response->setOutput($this->render());
    }
}
?>

2) Créez un nouveau fichier dans admin/view/template/custom/hello.tpl

Hello.tpl

<?php echo $header; ?>
<div id="content">
<h1>HelloWorld</h1>
<?php
echo 'I can also run PHP too!'; 
?>
</div> 
<?php echo $footer; ?>

3) Créez un nouveau fichier dans admin/model/custom/hello.php

<?php
class ModelCustomHello extends Model {
    public function HellWorld() {
        $sql = "SELECT x FROM `" . DB_PREFIX . "y`)"; 
        $implode = array();
        $query = $this->db->query($sql);
        return $query->row['total'];    
    }       
}
?>

4) Vous devez ensuite activer le plugin pour éviter les erreurs d'autorisation refusée:

Opencart > Admin > Users > User Groups > Admin > Edit

Sélectionnez et activez l'autorisation d'accès.

Pour visiter votre page allez à

www.votresite.com/opencart/admin/index.php?route=custom/helloworld

62
TheBlackBenzKid