Dudas Joomla

      No Comments on Dudas Joomla

Como ya dije, según fuese aclarando las dudas acerca de detalles de la creación de componentes en Joomla 1.5.6, las iría publicando, así que allá voy con las primeras:

¿Como insertar una definición de hoja de estilo propia desde una vista generada por mi componente?

Pues no es muy elegante, pero asi es como se hace:

// Recuperamos una referencia a la instancia del documento que genera Joomla
$document = & JFactory::getDocument();
// Asociamos una hoja de estilo al documento
$document->addStyleSheet("components/com_mycomp/views/assets/mystylesheet.css");

¿Como hago para que mi módulo aparezca en el Pathway de la página, también llamado modulo BreadCrumb?

Para variar, menos elegante aún que la anterior, usando la palabra clave global que es la antitesis de la ocultación de datos y por tanto de la orientación a objetos, hacemos referencia a una instancia del JAplication que se llama mainframe (¿y como sabemos eso?). Ignoro si hay una forma mas ortodoxa de hacerlo. En una de tus vistas mete este código en el método display:

global $mainframe;

$pw = $mainframe->getPathWay();
$pw->addItem("Mitextoparaelpathway");

¿Por qué no consigo recuperar el modelo desde una de mis vistas?

Lo mas habitual es que se te haya olvidado poner el nombre del modelo en cuestion que necesitas. Si dejas el parámetro del nombre del modelo vacío, la vista tratará de encontrar un modelo con el mismo nombre que ella. La solución es poner el nombre del modelo o crear un modelo con el mismo nombre que la vista.

views/myview/view.html.php

$model = $this->getModel("Mymodel");

models/mymodel.php
defined('_JEXEC') or die();
jimport( 'joomla.application.component.model' );

class MyApplicationModelMymodel extends JModel
{...

o

views/myview/view.html.php

$model = $this->getModel();

models/myview.php
defined('_JEXEC') or die();
jimport( 'joomla.application.component.model' );

class MyApplicationModelMyview extends JModel
{...

Leave a Reply

Your email address will not be published. Required fields are marked *