2012-10-10 28 views
5

Estoy tratando de añadir un estilo personalizado a cada elemento de la lista dentro de Joomla! S de salida de la lista de categorías que me da el siguiente código HTMLJoomla lista de categorías de anulación para agregar ID a cada elemento de la lista

<div class="blog"> 
    <div class="cat-children">  
    <ul> 
     <li class="first"> 
     <span class="item-title"><a href="/hyt-hand-held-license-free">HYT</a> 
     </span> 
     </li> 
     <li></li> 
    </ul> 
    </div> 
</div> 

Creo que lo que necesita hacer es agregar algo como:

<li id="myID<?php echo $this->item->catid; ?> "> 

El problema es que no puedo encontrar qué archivo anular. He buscado en /templates/mytemplate/html/com_content/category/, así como /components/com_content/views/category/tmpl, pero ninguno de los archivos parece tener una lista desordenada dentro de ellos que se relaciona con cat-chidren.

Así que mi primera pregunta es ¿qué archivo debo editar? Y la segunda es ¿cuál es la mejor sintaxis del this->item->[correct'Method'?] (es el término método o variable correcta, estoy un poco inestable en esto!) A utilizar de manera que cada elemento de la lista tendrá un id="myID[nameofarticle/subcatagory]"

Respuesta

1

Verás gato-niños en /components/com_content/views/category/tmpl/default.php

La ul está en otro subtemplate cargado, loadTemplate ('hijos'); ?>, Es decir

/components/com_content/views/category/tmpl/default_children.php

Si desea modificar la clase li usted podría pegarse algo como esto en la línea 26 (de su anulación no fichero core - pero bien simplemente a probar en un fichero core)

<?php $class = ' class="cmyId' . $this->escape($child->title) . '"';?>

que haría que cada li aparecen como

Así que este

<li<?php echo $class; ?>> 
    <?php $class = ''; ?> 

convierte este

<?php $class = ' class="cmyId' . $this->escape($child->title) . '"';?> 
    <li<?php echo $class; ?>> 
    <?php //$class = ''; ?> 

han probado a cabo en una instalación de 2.5.

+2

Eso es genial. Funciona como un encanto en ambos sentidos. :) modificó ligeramente su código y reemplazó child-> title con child-> alias y ahora es aún mejor ya que tengo una clase con un solo guión en lugar de uno dividido. ¡¡muchas gracias!! – happilyUnStuck

+0

Genial, no había pensado en utilizar alias para esto. mucho mejor. – Trev

0

debe reemplazar varios archivos almacenada en los componentes/com_content/views/ Dependiendo de la lista que desea editar, a continuación, debe buscar en las carpetas: - artículo - categoría - categorías - contó en cada una de estas carpetas verá una subcarpeta llamado 'tmpl', dentro del cual hay un archivo 'default.php'. Eso es lo que estás buscando.

Si desea sobrescribir los archivos, recuerde que la mejor práctica es colocar los archivos alternativos en la carpeta de la plantilla, creando una ruta similar a la del archivo original (por ejemplo, para la carpeta del artículo: templates/YOURTEMPLATEFOLDER /html/com_content/article/default.php - NO se necesita una carpeta tmpl ni una carpeta de vistas).

Una alternativa y, en mi opinión, una forma más fácil podría ser configurar diferentes plantillas para cada categoría, y luego asignar a cada una de ellas los estilos de lista que prefiera.

O, incluso más fácil, simplemente edite su archivo index.php en la carpeta de la plantilla para que se haga eco de una hoja de estilos css específica según el $ catId.

0

por ejemplo el código HTML muestra que está utilizando la vista por categorías Blog, cada instancia artículo en la categoría se está representando por el archivo blog_children.php, ya que muestra /components/com_content/views/category/tmpl/blog.php

<?php echo $this->loadTemplate('children'); ?> 

So /components/com_content/views/category/tmpl/blog_children.php es el archivo que necesita editar o anular en el directorio html de la plantilla.

Luego puede aplicar un estilo personalizado agregando una identificación o clase para cada artículo con $ child-> id.

Cuestiones relacionadas