Soporte Oficial para Xoops en español
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Principiante
![]() ![]() ![]() |
Hola El Santo,
Gracias por compartir con nosotros tus modificaciones. Las estoy llevando a cabo y en principio todo funciona correctamente. Solo me falta implementar las miniaturas. Has añadido algun campo personalizado a catads, Si es así y si tienes un rato te importaria compartirlo con nosotros. De nuevo muchas gracias.
Enviado el:9/3/2009 18:07
|
|||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Supremo
![]() ![]() ![]() |
Estuve publicando anuncios, agregando anuncios, y editando anuncios con imágenes nuevas.
Respecto a las imágenes, la consulta es si el sello de agua las pone en las fotos nuevas. Gracias nuevamente
Enviado el:24/2/2009 2:14
Editado por lesesi en 8/3/2009 6:11:06
Razón: |
|||
_________________
Curso de visitador medico |
||||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Supremo
![]() ![]() ![]() |
No puedo creer tanta paciencia!!!!
Mil gracias ElSantooo Hice todo paso por paso, además edité un anuncio y le agregué una img de 800 x 556 y lo dejó espectacular!!! Borré tambien un anuncio Perfectooo!!! Espero que despues de tanto trabajo de tu parte, podamos devolverte algo Graciassss ![]()
Enviado el:22/2/2009 3:10
|
|||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Intermedio
![]() ![]() ![]() |
Modificando adsedit.php para que haga las fotos miniaturas
Debemos incluir las funciones de la clase resize.php como lo hemos hecho con submit1.php debajo de la linea 29 include_once(XOOPS_ROOT_PATH."/modules/".$xoopsModule->dirname()."/class/ads.php"); incluimos include_once(XOOPS_ROOT_PATH."/modules/".$xoopsModule->dirname()."/class/resize.php"); Luego buscamos en las lineas 63 - 64 mas o menos switch ($op) { case "save": El código que sigue será el que se ejecutará cuando apretemos el boton "Enviar" del formulario En la línea 117 a 120 encontramos un loop qeu borrará las fotos while ($i < $cat->nb_photo) { $photo = ''; if(isset($del_img[$i])) { en la linea 120 esta definida la variable $filename, que es la ruta de la imagen $filename = XOOPS_ROOT_PATH.'/modules/catads/images/ads/'.$ads->getVar('photo'.$i); Agregamos debajo las dos rutas nuevas que $filenamethumbs = XOOPS_ROOT_PATH.'/modules/catads/images/ads/thumbs/'.$ads->getVar('photo'.$i); $filenamebak = XOOPS_ROOT_PATH.'/modules/catads/images/ads/bak/'.$ads->getVar('photo'.$i); luego de la instruccion que borra el archivo foto unlink($filename); Agregamos estas dos nuevas para que nos borre la miniatura y la foto backup. unlink($filenamethumbs); unlink($filenamebak); luego de las lineas 127 128 vemos el caso que agrega la foto } elseif ($preview_name[$i] != '') { Lo siguiente cambia el nombre temporal por el definitivo $photo = str_replace('tmp_', 'img_',$preview_name[$i]); Lo que sigue define la ruta $photos_dir = XOOPS_ROOT_PATH . '/modules/'.$xoopsModule->dirname().'/images/ads/' ; Debajo agregamos las dos nuevas rutas $photos_dirthumbs = XOOPS_ROOT_PATH."/modules/".$xoopsModule->dirname()."/images/ads/thumbs" ; $photos_dirbak = XOOPS_ROOT_PATH.'/modules/'.$xoopsModule->dirname().'/images/ads/bak' ; despues de la linea que renombra la foto rename( $photos_dir.$preview_name[$i] , $photos_dir.$photo ) ; Ahora que tenemos la foto en el servidor agragamos todo esto para la creación de imagenes //Copia imagen y redimenciona al directorio bak $thumb = new thumbnail("$photos_dir/$photo"); $thumb->size_auto(600); $thumb->jpeg_quality(75); $thumb->save("$photos_dirbak/$photo"); //Genera miniatura al directorio thumbs $thumb->size_height(100); $thumb->jpeg_quality(75); $thumb->save("$photos_dirthumbs/$photo"); //sella imagen y la guarda al directorio General ads $thumb->size_auto(600); $thumb->jpeg_quality(75); $thumb->save("$photos_dir/$photo"); luego nos vamos hasta case "delete": if (!$xoopsModuleConfig['usercandelete']) { redirect_header("index.php",1,_NOPERM); y alli buscamos la instruccion que borra la foto $filename = XOOPS_ROOT_PATH.'/modules/catads/images/ads/'.$ads->getVar('photo'.$i); unlink($filename); Agremamos debajo las instruciones para que se borren las otras dos fotografias $filename_thumbs = XOOPS_ROOT_PATH.'/modules/catads/images/ads/thumbs/'.$ads->getVar('photo'.$i); unlink($filename_thumbs); $filename_bak = XOOPS_ROOT_PATH.'/modules/catads/images/ads/bak/'.$ads->getVar('photo'.$i); unlink($filename_bak); Guardamos los cambios, editamos un anuncio con el icono del usuario, no usar el icono del admin, Ahora estamos viendo el anuncio con la ruta catads/adsedit.php?op=edit&ads_id= "+ numero de anuncio" Agreguemos y borremos nuevas fotos y chequeemos que todo funcione bien, tanto el ver las fotos, creacion de las fotos en sus distintas rutas y el borrado cuando las quitamos. Por último, para no tener que ver las imagenes muy grandes en el formulario adsedit.php y que se nos descuadre la página editamos el archivo catads/include/form2_ads.inc.php En la linea 105 agregamos el atributo height=250 o height=300 , como ustedes prefieran. la lineas debe quedar asi $file_tray->addElement(new XoopsFormLabel('', "<img src='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/images/ads/".$photo[$i]."' name='image' id='image' alt='' height=250 /><br /><br />" )); ---------------------------------------- Bien , como se habran dado cuenta, catads tiene tres formularos, El de envio nuevo, el de edición y el formulario del admin Como el formulario del admin , no necesita o no tiene carga de imagenes, solo nos resta implementar el borrado de las fotos Pero primero editamos la linea 86 de catads\include\form3_ads.inc.php para agregarle la etiqueta height=250 y nos va a quedar asi: $image_tray->addElement(new XoopsFormLabel('', "<img src='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/images/ads/".$photo[$i]."' name='image' id='image' alt='' height=300/><br /><br />" )); Guardar, Cerrar y luego ver el formulario de admin, las imagenes ya no se veran tan grandes. Ahora editemos el catads\admin\adsmod.php , lineas 46 y 47 tenemos el loop de borrado de la foto. Alli hacemos lo mismo que antes $filename_thumbs = XOOPS_ROOT_PATH.'/modules/catads/images/ads/thumbs/'.$ads->getVar('photo'.$i); unlink($filename_thumbs); $filename_bak = XOOPS_ROOT_PATH.'/modules/catads/images/ads/bak/'.$ads->getVar('photo'.$i); unlink($filename_bak); Como al agregar lineas los numeros de las misma varian , les propongo que encuentren dos loops mas con la instruccion unlink y repitan la operacion. Guardar y cerrar. Probar de todas formas posibles y comprobar que no tenga error, es bueno usar el debug. Creo que con esto ya hemos hecho un gran trabajo.
Enviado el:22/2/2009 1:20
|
|||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Equipo de esXOOPS
![]() ![]() ![]() |
Hola , lesesi
gracias por la aclaración, yo soy de los que copian y pegan con espacio incluido " error por mi parte" Ahora mismo rectifico , voy hacer los deberes bien. saludos Ahora la 2 parte Modificando adsedit.php para que haga las fotos miniaturas esta me sale bien, se entiende
Enviado el:21/2/2009 8:59
Editado por aixos en 21/2/2009 23:02:10
Razón: |
|||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Supremo
![]() ![]() ![]() |
Hola, disculpen por la de mora
ya hice los deberes, a mi no me dá error, va el enlace http://secilio.com.ar/xo20182/modules/catads/adsitem.php?ads_id=2 Aclaraciones catads\images\ads\bak catads\images\ads\thumbs les puse a ambos directorios los permisos 777 Recomendaciones : para buscar la línea que recomienda Elsanto, copien parte de la línea y busquenla en el catads, ya que puede que no la encuentren. para pegar las nuevas líneas, copien 1 x 1 y pegenla. Por ejemplo en el caso de $thumb = new thumbnail("$photos_dir/$photo"); $thumb->size_auto(600); $thumb->jpeg_quality(75); $thumb->save("$photos_dirbak/$photo"); no peguen todas de golpe porque hay espacios que no se ven y nos les va a funcionar, es decir, copien $thumb = new thumbnail("$photos_dir/$photo"); y peguen y reciendo luego la que sigue. Suertee
Enviado el:21/2/2009 0:48
|
|||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Equipo de esXOOPS
![]() ![]() ![]() |
Ante todo , creo que podriamos usar el editor notepad 2
y hablar de la lineas numeradas, porque si no es un follon ahora he puesto todo lo que dices he mirado todo y me fallo Parse error: syntax error, unexpected T_CASE in /var/www/virtual/xoopscentral.com.ar/htdocs/clasificados/modules/catads/submit1.php on line 56
// array des sous-catégories 'enfant' d'une catégorie
Enviado el:20/2/2009 20:13
|
|||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Intermedio
![]() ![]() ![]() |
Creación de miniaturas
hacer las carpetas catads\images\ads\bak catads\images\ads\thumbs incluir en catads\class lucon.ttf resize.php Descargar desde aqui Modificando el submit1.php : el submint1.php se encarga de hacer los anuncios nuevos. En las primeras líneas encontraran: include("../../mainfile.php"); include_once(XOOPS_ROOT_PATH."/modules/".$xoopsModule->dirname()."/include/functions.php"); include_once(XOOPS_ROOT_PATH."/modules/".$xoopsModule->dirname()."/class/cat.php"); Debemos agregar abajo de eso la clase resize que usaremos para la creación de las fotos miniaturas include_once(XOOPS_ROOT_PATH."/modules/".$xoopsModule->dirname()."/class/resize.php"); Más adelante veremos como funciona esta clase y haremos la marca de agua para las fotos. Traten de leer el código aunque no lo entiendan. Usemos // para agregar comentarios en la escritura, nos ayudara en un futuro a entender que hemos modificado La primera parte de submit1.php chequea quienes pueden enviar un anuncio, luego busca las categorías y las muestra. if (!$xoopsModuleConfig['anoncanpost'] && !$xoopsUser){ function getFirstChild function showsubcat Luego tenemos sswitch($op) { y alli case "cancel": - case "post": - case "preview": y case "form": Lo encontraron? Ubiquémonos en case "post": la siguiente línea $photos_dir = XOOPS_ROOT_PATH . "/modules/".$xoopsModule->dirname()."/images/ads" ; agregaremos estas dos a continuations $photos_dirbak = XOOPS_ROOT_PATH.'/modules/'.$xoopsModule->dirname().'/images/ads/bak/' ; $photos_dirthumbs = XOOPS_ROOT_PATH . "/modules/".$xoopsModule->dirname()."/images/ads/thumbs" ; $photos_dir es el directorio de las imágenes y hemos definidos dos directorios mas $photos_dirbak para guardar una copia limpia de la imagen "luego les explico el porque" y $photos_dirthumbs para guardar las miniaturas. Ahora avancemos hasta $i = 0; while ($i < 6) { La variable $i que es igual a cero y un loop que tomara el valor 0 a 5 , o sea seis casos. Justamente son las 6 posibilidades de fotografías que tiene catads Cuando subimos una fotografia catads usa un nombre temporal con este formato tmp_1235090449_0.jpg La primera parte tmp_ + un numero + la variable $i que puede tomar el valor 0 a 5 El nombre numérico lo asigna php y se trata de el tiempo trascurrido desde el año 1970 hasta el momento de hacer el post, expresado en segundos. Esa funcion se encuentra en el archivo catads\include\functions.php A continuación de : $photo = str_replace('tmp_', 'img_',$preview_name[$i]); rename( "$photos_dir/$preview_name[$i]" , "$photos_dir/$photo" ) ; que son las líneas encargadas de remobrar las fotos de este formato tmp_1235090449_0.jpg a este otro img_1235090449_0.jpg insertaremos estas líneas //Copia imagen y redimenciona al directorio bak $thumb = new thumbnail("$photos_dir/$photo"); $thumb->size_auto(600); $thumb->jpeg_quality(75); $thumb->save("$photos_dirbak/$photo"); //Genera miniatura al directorio thumbs $thumb->size_height(100); $thumb->jpeg_quality(75); $thumb->save("$photos_dirthumbs/$photo"); //Genera imagen y la guarda al directorio General ads $thumb->size_auto(600); $thumb->jpeg_quality(75); $thumb->save("$photos_dir/$photo"); $thumb = new thumbnail("$photos_dir/$photo"); le dice a la clase resize.php que tome una copia de la fotografia $thumb->size_auto(600); define el alto o ancho maximo $thumb->jpeg_quality(75); define la calidad con la que se guardará la fotografia $thumb->save("$photos_dirbak/$photo"); guarda una copia en el directorio bak, calidad 75 y alto o ancho maximo 600 px. Las tres líneas siguientes hacen la miniatura guardándolas en el directorio correspondiente Las últimas tres generan una fotografía igual a la puesta en bak, pero esta vez reemplazará a la subida por el usuario. ¿Porque hacer esto último? Porque el usuario pudo haber subido una foto de 1200x1000 y con peso grandísimo si el valor de calidad jpg es 90 o 100. Justamente por esto mismo que hemos modificado en el xoops_version.php a: Photo max size : 300000 Photo max height : 1280 Photo max width : 1280 ¿Entendieron? Guarden los cambios y escriban un anuncio. Llenen los campos y carguen una o dos fotografias de no menos de 800x600 px y antes de enviar hagan un Previsualizar. Notaran que en el preview las imágenes son enormes y para ello modificaremos mas abajo en case "preview": Busquemos $ads['photo'][$j] = '<img src="images/ads/'.$preview_name[$i].'">'; y reemplacemos por $ads['photo'][$j] = '<img src="images/ads/'.$preview_name[$i].'" height=100 >'; height=100 hara que en el momento del preview, aunque la foto sea de 800x600 nos la muestre con un alto de 100 px Guarden el anuncio, seguramente estará "En espera" lo pueden ver en el menu "Mis anuncios" y notarán que nos muestra la imagen enorme !!! pero con un ancho o alto de 600 pixel. Por hoy es suficiente y les dejo una tarea: Modificar la escritura para que en los anuncios en lugar de mostrarnos la foto de images\ads nos muestre la miniatura. Hasta pronto y sepan que hay mas cosas que faltan con el tema imágenes, ¿cuales?
Enviado el:20/2/2009 0:53
Editado por ElSanto en 20/2/2009 14:11:21
Razón: |
|||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Supremo
![]() ![]() ![]() |
Ya hice mi parte
www.secilio.com.ar/xo20182 www.secilio.com.ar/xo232 para probarlo en ambas versiones Suerte Aclación Importante Versión XOOPS - XOOPS 2.3.2 Versión PHP - 5.2.0-8+etch13 Versión MySQL - 5.0.32-Debian_7etch8-log Versión Server API - cgi-fcgi Versión OS - Linux Versión XOOPS - XOOPS 2.0.18.2 Versión PHP - 5.2.0-8+etch13 Versión MySQL - 5.0.32-Debian_7etch8-log Versión Server API - cgi-fcgi Versión OS - Linux
Enviado el:15/2/2009 21:30
|
|||
_________________
Curso de visitador medico |
||||
|
Re: Haciendo un módulo catads 1.4 super mejorado seo, entra y participá! |
||||
---|---|---|---|---|
Intermedio
![]() ![]() ![]() |
Comenzamos.
Antes de empezar con el SEO, retoquemos un poco la configuración del catads por defecto, como mas adelante seguramente implementaremos las miniaturas de las imágenes, cambiemos ahora los parámetros, así al instalar el módulo sale ya con dichos parámetros. Abrir el xoops_version.php y buscar // Photo max size : cambiar de 30000 a 300000 // Photo max height : cambiar de 160 a 1280 // Photo max width : cambiar de 240 a 1280 // Nb col index cambiar array(2=>2, 3=>3, 4=>4, 5=>5) por array(2=>2, 3=>3, 4=>4, 5=>5, 6=>6) // Longueur maxi annonce cambiar de 500 a 600 Instalemos el módulo y creemos dos categorías, por ejemplo Audio y Video, ambas que se puedan ver el precio y 6 imágenes a mostrar. Creemos un anuncio completo, me refiero llenando todos los campos y subiendo una fotografía. Nuestro compañero Lesesi tratara de poner un xoops en línea para que todos veamos los cambios en el modulo. Editando la plantilla del anuncio Abrir con un editor html (Yo prefiero FrontPage) la platilla catads_item.html Busquemos en las primeras lineas <div align="center"><{$link_cat}></div><br /> y le agregaremos la etiqueta h1 con su cierre para que quede de esta forma <div align="center"><h1><{$link_cat}></h1></div><br /> ¿Porque? Google le da mucha importancia al uso de estas etiquetas. Ahora busquemos las líneas encargadas de mostrar el tipo y título del anuncio. <td width="78%" class="head"> <{$annonce.type}> <b>: </b> <{$annonce.title}> </td> Agregamos la etiueta h2 con su cierre para que quede de esta forma <td width="78%" class="head"><h2> <{$annonce.type}> <b>: </b> <{$annonce.title}></h2> </td> Mas abajo buscamos: <{$annonce.description}> y le agregamos la etiqueta h3 <h3><{$annonce.description}></h3> Guardamos los cambios y borramos templates_c Es importante setear en xoops mientras desarrollamos la modificación al módulo -> preferencias - configuración general y allí establecer en SI -> ¿Comprobar cambios en las plantillas? (templates) Mantengamos el theme default de xoops Si ven el anuncio, notaran que algunas letras han aumentado el tamaño debido al agregado de las etiquetas h1 h2 h3 Para no perder el aspecto editar los estilos abriendo style.css del theme defaul y buscar las etiquetas h h1 {} h2 {} h3 {} h4 {} h5 {} Editemos de esta forma h1 {font-size : 1.5em;} h2 {font-size : 1.2em;} h3 {font-size : 1.0em;} h4 {font-size : 1.0em;} h5 {font-size : 1.0em;} Ahora editemos el main.php del leguaje español define("_MD_CATADS_MAIN","Categorías principales "); cambiamos por define("_MD_CATADS_MAIN","Anuncios Clasificados "); Se habran dado cuenta que es mejor palabra clave para google "Anuncios Clasificados" que "Categorías principales" Si tienen alguna duda o sugerencia, los leo
Enviado el:14/2/2009 17:08
|
|||
|
Mensajes Recientes
|
Comentarios recientes
|