usar una principiantes plantillas plantilla para pagina modificar las imagenes gestor editar creada como cambiar joomla joomla2.5

una - joomla para principiantes



¿Cómo cambiar el diseño de la carga en la vista de Joomla? (3)

Por defecto parent::display($tpl); carga components/com_my_component/views/my_component/tmpl/default.php , pero en algunos casos necesito cargar otro archivo php que está en la misma carpeta cerca de default.php (por ejemplo components/com_my_component/views/my_component/tmpl/lol.php ). Cómo hacer esto desde view.html.php .

PD

Intentó cargar los métodos loadTemplate y setLayout sin suerte.


Resolvió el problema yo solo. Necesita usar el método setLayout y prestar atención a la sintaxis de entrada

$this->setLayout(''dafault:lol''); parent::display($tpl);


De forma predeterminada, joomla busca la palabra clave de layout en la URL para decidir qué diseño mostrar. Si esta variable está vacía o no está presente, se tmpl/default.php diseño tmpl/default.php .

Al editar su archivo view.html.php , puede establecer el diseño predeterminado utilizando la API de JView, por ejemplo, $this->setLayout(''lol'') hará que la URL example.com/yourview equivalente a example.com/yourview?layout=lol .

Sin embargo, este cambio solo dará como resultado que Joomla anule su comportamiento predeterminado para que se ignore la solicitud de layout . Esto significa que la solicitud example.com/yourview?layout=lmao también mostrará example.com/yourview = example.com/yourview?layout=lol

Puede resolver esto fácilmente agregando una condición alrededor de la función setLayout modo que solo si la palabra clave de layout no está presente, entonces establecerá el diseño predeterminado en lol , por ejemplo

<?php # ... function display($tpl = null) { # ... # Edit : Set the default layout to ''lol'' $layout = JRequest::getWord(''layout'', ''''); if (empty($layout)) $this->setLayout("lol"); // Display the view parent::display($tpl); } # ...


Sigo volviendo a esto y todavía no he encontrado una solución satisfactoria.

Lo que sí funciona, desde J1.5 hasta J3.4, para mí siempre ha sido establecer la variable $ tpl en view.html.php

Si $ tpl está vacío o "", tmpl / default.php se muestra de manera predeterminada.

Si cambia $ tpl a una cadena, por ejemplo, $ tpl = "apilador", entonces buscará y mostrará tmpl / default_stacker.php

He visto varias teorías diferentes sobre cómo cambiarlo antes en el MVC para que no necesite el pretexto predeterminado. por ejemplo, tmpl / stacker.php Ninguno me ha funcionado.