it-swarm-es.tech

Cargar artículo K2 con ajax

Estoy usando el diseño de categoría para presentar artículos en mi portada con joomla 3.3. Estoy personalizando esta vista para que los enlaces del artículo atraigan los artículos a esta página a través de ajax al hacer clic.

Este es el código relevante que personalicé:

HTML:

<h2 class="catView" data-link="<?php echo $this->item->link; ?> #k2Container">
    <?php if(isset($this->item->editLink)): ?>
</h2>

jQuery:

$('article.catView h2').click(function(){
    var link    = $(this).attr("data-link");
    $(this).parents().next('.artContainer').slideToggle(500).load(link);
});

Esto funciona, me las arreglo para recuperar los datos que necesito y mostrarlos correctamente.

PERO

Me pregunto si esta es la forma correcta de hacer esto, en lugar de recuperar otra página, ¿debería intentar recuperar datos directamente de la base de datos? ¿hay una manera "especial de joomla" de hacer esto?

Prefiero no confiar en una extensión de terceros para esto y me gustaría controlar y comprender esta tarea.

3
web-tiki

http://jeffchannell.com/Joomla/load-the-joomla-framework-in-a-non-joomla-php-script.html

Usando la técnica anterior, puede crear un archivo ajax.php en el directorio raíz y usar las API de Joomla para llamar los datos usted mismo desde la base de datos, luego convertirlos a JSON.

Esto le permitirá posiblemente usar los ayudantes de k2 para ayudarlo. Llamar a la base de datos de esta manera solo debe usarse si necesita un alto nivel de personalización.

betweenbrian hace un buen punto con este enlace http://getk2.org/blog/786-k2-v257-released-introduces-json-jsonp-content-output en que si k2 admite JSON, y recupera los datos que necesita, probablemente sea perfecto para lo que necesita hacer.

com_ajax también viene a la mente, sin embargo, fue creado para módulos/complementos. k2 en sí mismo es un componente, por lo que probablemente no funcionará según lo previsto.

En conclusión, no hay una forma "especial de Joomla" para manejar ajax, pero hay muchas posibilidades de hacer lo que necesita.

2
Jordan Ramstad