2012-02-28 8 views
10

Quiero crear una página personalizada en OpenCart.página personalizada de opencart php sin utilizar la función de "información"

Sé que puedo poner una página personalizada en la sección de información usando el área de administración; sin embargo, lo que me gustaría es un controlador que señale algunas otras páginas.

No entiendo completamente cómo hacer esto.

En Codeigniter crearía un controlador y una vista y, si es necesario, configuraría algunas reglas en el archivo de rutas, pero no puedo ver nada como esto.

¿Alguien me importaría explicarme o indicarme algunas instrucciones sobre cómo hacer esto, por favor?

Gracias

Respuesta

17

Es bastante sencillo de hacer para ser honesto. Necesita crear un controlador para su archivo, nombrando según la carpeta y el nombre del archivo. Por ejemplo common/home.php tiene

Class ControllerCommonHome extends Controller 

Esto se accede utilizando index.php?route=common/home y accesos el método index(). Si desea llamar a otro método, por ejemplo foo, lo que se necesita para definir el método que

public function foo() { 
    // Code here 
} 

y lo llamaría usando index.php? = Ruta común/home/foo

En cuanto a la representación la vista, eso es un poco más complicado. Básicamente es necesario agregar todo esto hasta el final de su método de controlador de

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/new_template_file.tpl')) { 
     $this->template = $this->config->get('config_template') . '/template/common/new_template_file.tpl'; 
    } else { 
     $this->template = 'default/template/common/new_template_file.tpl'; 
    } 

    $this->children = array(
     'common/column_left', 
     'common/column_right', 
     'common/content_top', 
     'common/content_bottom', 
     'common/footer', 
     'common/header' 
    ); 

    $this->response->setOutput($this->render()); 

Qué rendirá /catalog/view/theme/your-theme-name/template/common/new_template_file.tpl Si no existe ese archivo, se intentará utilizar la misma ruta de la carpeta default tema

Te recomiendo que eches un vistazo a algunos controladores y plantillas para saber de dónde viene todo correctamente, pero esa es la esencia de cómo funciona

+0

Puede que falte algo aquí, pero no estoy seguro de qué. Los archivos estándar sí tienen esta estructura, pero tal vez exista un lugar donde las nuevas extensiones o lo que sea deben registrarse. –

+1

si está creando páginas completamente nuevas, entonces no es necesario que se registren. Si son módulos, el principio básico es el mismo, pero los módulos deben instalarse en el administrador y configurarse para habilitarse con sus posiciones, etc. –

0

Por favor, sigue esta página espero que más uso completo.

http://code.tutsplus.com/tutorials/create-a-custom-page-in-opencart--cms-22054

OpenCart está construido utilizando la programación del patrón MVC populares. También hay un elemento más agregado a este patrón llamado "L" - una parte del lenguaje - por lo que se llama patrón MVC-L en OpenCart. No entraré en los detalles del patrón MVC ya que es un patrón de diseño muy popular y familiar, y lo hemos cubierto con gran detalle en otros tutoriales.

Cuestiones relacionadas