Diseño y Posicionamiento Web con Joomla › Foros › General › Joomla en General › Jomsocial y ajax envio de datos
- Este debate tiene 1 respuesta, 1 mensaje y ha sido actualizado por última vez el hace 12 años, 7 meses por Anónimo.
-
AutorEntradas
-
-
30/09/2011 a las 21:06 #102012AnónimoInvitado
Hola a todos
Tengo una duda tal ves vosotros que han trabajado con jomsocial sabeis de algo, quiero que el buscador de jomsocial trabaje con ajax que devuelva informacion de la db asincronamiente resulta que lo que estoy haciendo es creando una accion llamada autocompletar() en el controller.php de jomsocial y lo llamo de toolbar.index.php de la carpeta template/default que es donde se encuentra el formulario de busqueda :jQuery.getJSON(ruta+”index.php?option=com_community&task=autocompletar&format=raw”, function(data) {
Resulta que no puedo obtener resultados en data.
Cual es mi error.
Veo que jomsocial tiene varios tipos de archivos controller, tal ves tiene que ver con eso mi problema.
Bueno si saben de algo por favor un cable
gracias
-
08/12/2011 a las 18:37 #103145AnónimoInvitado
Paseandome por el foro he visto que esta pregunta no ha tenido solucion y probando leyendo por la web encontre la solucion hace un tiempo:
En la entrada de todo componente por ej com_ejemplo existe un archivo ejemplo.php que es el punto de entrada del componente aqui hay que incluir la llamada al controlador a utilizar. por ej:
defined( '_JEXEC' ) or die( 'Restricted access' );require_once( JPATH_COMPONENT.DS.'controller.php' );
$classname = 'ejemploController'.$controller;
$controller = new $classname( );$controller->execute( JRequest::getVar('task'));
Hago un require_once a la ruta del controlador con el que voy a trabajar, creo una instancia de la clase ejemploController(que es el nombre de la clase dentro del controlador) y utilizo execute para que se ejecute el task(nombre de la funcion dentro del archivo controller).
Si este componente contiene la carpeta controllers para hacer referencia al archivo controlador dentro de la carpeta hay que pasar un parametro en la url controller=”nombre-de-archivo” y en el task(tarea) el nombre de la funcion definida dentro del archivo controller, en este caso es probable que se encuentre en ejemplo.php unas lineas de codigo parecidas a estas
if($controller = JRequest::getWord('controller')) {
$path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
if (file_exists($path)) {
require_once $path;
} else {
$controller = '';
}
}
ejemploController = ejemploController.php (Que es el archivo que controlador que se encuentra en la carpeta controllers)
ruta = Ruta base de la urlnombreFuncion = Funcion que se encuentra dentro del controlador que se esta haciendo referencia
jQuery.getJSON(ruta+”index.php?option=com_community&controller=ejemploController&task=nombreFuncion&format=raw”, function(data) {
console.log(data);
});
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.