Publicidad

Autor Tema: [TIP]: URLS Amigables en más partes de la web  (Leído 664 veces)

Desconectado Samu

  • Newbie
  • *
  • Mensajes: 42
  • Power: 4
    • Ver Perfil
[TIP]: URLS Amigables en más partes de la web
« en: Junio 24, 2011, 05:25:10 am »
Muy buenos días a todos, este es mi primer aporte para la página y espero que les guste,  ya para empezar los créditos son para Angel (DXDrHank86), 002 y Freack…. Si me olvide de alguien pido disculpas, esta guía de url’s amigables es para Ultimos posts, top post, sticky, últimos comentarios, y posts relacionados, ahi al final de yapa dejo como se hace para que al poner el buscador amigable ejecute su funcion, el gran problema que habia a muchos es que al aplicar las url's amigables en determinadas partes "NO" agarraba las categorias, sin mas preámbulos empecemos luego de hacer un backup (copia de seguridad)  de los archivos:
Guia url amigables
Abrir recent.template de su theme…  que esta en la carpeta Themes

Buscar por

Código: [Seleccionar]
href="', $scripturl ,'?topic=', $st['id'],'"

remplaza por esto

Código: [Seleccionar]
href="/post/',urls_amigables($st['id']),'/'.urls_amigables($st['category']), '/',urls_amigables($st['title']), '.html"

busca por

Código: [Seleccionar]
href="', $scripturl ,'?topic=', $np['id'],'"

Reemplaza por

Código: [Seleccionar]
href="/post/',urls_amigables($np['id']),'/'.urls_amigables($np['category']), '/',urls_amigables($np['title']), '.html"


Ahora al SSI

Buscar por
Código: [Seleccionar]
<?php
Despues agregar:

Código: [Seleccionar]
include_once('includes/urls_amigables.php');


-ahora en el  acciones-sp-1.1.js colocamos una ( / ) a  los siguiente archivo y nos quedara asi
Busca:
Código: [Seleccionar]
url: 'add_comment.php',
Remplaza por:
Código: [Seleccionar]
url: '/add_comment.php',

Busca por:
Código: [Seleccionar]
url: 'index.php?action=enviar-puntos;do=sendmoney2;ajax=1;topic=' + id +
Remplaza por
Código: [Seleccionar]
url: '/index.php?action=enviar-puntos;do=sendmoney2;ajax=1;topic=' + id + 
Busca por
Código: [Seleccionar]
url: 'index.php?action=favoritos;sa=add;ajax=1;topic=' + id ,

Remplaza por
Código: [Seleccionar]
url: '/index.php?action=favoritos;sa=add;ajax=1;topic=' + id ,

Hasta aca nadie tenia problemas con las url’s amigables… pero cuando uno quería poner en comentarios,  en los top posts y demás yerbas ya no les salía la categoría… entonces:
Continuamos en el recent.template, buscamos:
Código: [Seleccionar]
function ultimos_comments()
{
global $context, $settings, $scripturl, $txt, $db_prefix, $ID_MEMBER;
global $user_info, $modSettings, $func;
$rs = db_query("SELECT c.id_post, c.id_coment, m.subject, m.ID_TOPIC, c.id_user, mem.ID_MEMBER, mem.RealName, mem.memberName
                        FROM ({$db_prefix}comentarios AS c, {$db_prefix}messages AS m, {$db_prefix}members AS mem)
                        WHERE id_post = m.ID_TOPIC AND c.id_user = mem.ID_MEMBER
                        ORDER BY c.id_coment DESC
                        LIMIT 15", __FILE__, __LINE__);
$context['ult_comms'] = array();
while ($row = mysql_fetch_assoc($rs))
$context['ult_comms'][] = array(
'id_comment' => $row['id_coment'],
'titulo' => $row['subject'],
'ID_TOPIC' => $row['ID_TOPIC'],
'memberName' => $row['memberName'],
'RealName' => $row['RealName'],
);
mysql_free_result($rs);
foreach ($context['ult_comms'] as $comments){
echo '<font class="size11" title="'. $comments['titulo'] .'"><b>'.$comments['RealName'].'</b> - <a href="'.$scripturl.'?topic='.$comments['ID_TOPIC'].'#cmt_'.$comments['id_comment'] .'">'.$comments['titulo'].'</a></font><br />';
}
}
Y lo remplazamos por:
Código: [Seleccionar]
function ultimos_comments()
{
global $context, $settings, $scripturl, $txt, $db_prefix, $ID_MEMBER;
global $user_info, $modSettings, $func;
$rs = db_query("SELECT c.id_post, c.id_coment, m.subject, m.ID_TOPIC, m.ID_BOARD, c.id_user, mem.ID_MEMBER, mem.RealName, mem.memberName, b.ID_BOARD, b.name AS bname
                FROM ({$db_prefix}comentarios AS c, {$db_prefix}messages AS m, {$db_prefix}members AS mem, {$db_prefix}boards AS b)
                WHERE id_post = m.ID_TOPIC AND c.id_user = mem.ID_MEMBER
AND m.ID_BOARD = b.ID_BOARD
                        ORDER BY c.id_coment DESC
                        LIMIT 15", __FILE__, __LINE__);
$context['ult_comms'] = array();
while ($row = mysql_fetch_assoc($rs))
$context['ult_comms'][] = array(
'id_comment' => $row['id_coment'],
'titulo' => $row['subject'],
'ID_TOPIC' => $row['ID_TOPIC'],
'memberName' => $row['memberName'],
'RealName' => $row['RealName'],
'bname' => $row['bname'],
);
mysql_free_result($rs);
foreach ($context['ult_comms'] as $comments){
echo '<font class="size11" title="'. $comments['titulo'] .'"><b>'.$comments['RealName'].'</b> - <a href="/post/'.urls_amigables($comments['ID_TOPIC']).'/'.$comments['bname'].'/'.urls_amigables($comments['titulo']).'.html#cmt_'.$comments['id_comment'] .'">'.$comments['titulo'].'</a></font><br />';
}
}

Era uno de los grandes problemas con las url’s amigables, otro de ellos era en top posts… busca por:
Código: [Seleccionar]
href="', $scripturl ,'?topic=', $tpw['id'], '">
remplaza por:
Código: [Seleccionar]
href="/post/',urls_amigables($tpw['id']),'/'.urls_amigables($tpw['categoria']), '/',urls_amigables($tpw['titulo']), '.html">

Ahora abren el archivo Recent.php que esta en la carpeta Sources
Buscan:
Código: [Seleccionar]
$request = db_query("
                    SELECT m.subject, m.ID_TOPIC, t.ID_TOPIC, t.puntos
                    FROM {$db_prefix}topics AS t INNER JOIN {$db_prefix}messages AS m ON t.ID_TOPIC = m.ID_TOPIC
                    WHERE m.posterTime > $starttime
                    ORDER BY t.puntos DESC
                    LIMIT 10", __FILE__, __LINE__);

        $context['top_posts_week'] = array();

while ($row = mysql_fetch_assoc($request))
$context['top_posts_week'][] = array(
'titulo' => $row['subject'],
'puntos' => $row['puntos'],
'id' => $row['ID_TOPIC']
);
mysql_free_result($request);

Y remplazan por:
Código: [Seleccionar]
$request = db_query("
                    SELECT m.subject, m.ID_TOPIC, t.ID_TOPIC, t.puntos, b.name
FROM ({$db_prefix}topics AS t INNER JOIN {$db_prefix}messages AS m, {$db_prefix}boards AS b)
WHERE t.ID_TOPIC = m.ID_TOPIC
AND b.ID_BOARD = m.ID_BOARD
                                        AND m.posterTime > $starttime
ORDER BY t.puntos DESC
LIMIT 10 ", __FILE__, __LINE__);

        $context['top_posts_week'] = array();

while ($row = mysql_fetch_assoc($request))
$context['top_posts_week'][] = array(
'titulo' => $row['subject'],
'puntos' => $row['puntos'],
'categoria' => $row['name'],
'id' => $row['ID_TOPIC'],
);
mysql_free_result($request);

Ahora hagamos amigables los posts relacionados :D
Abren su display.template que esta en la carpeta Themes
Buscan:
Código: [Seleccionar]
href="', $scripturl ,'?topic='.$posts10['id'].'" 
y lo remplazan por:
Código: [Seleccionar]
href="/post/',urls_amigables($posts10['id']),'/'.urls_amigables($posts10['bname']), '/',urls_amigables($posts10['subject']), '.html "

Ahora vamos al archivo .htacces que se encuentra en la raíz
Buscan:
Código: [Seleccionar]
RewriteEngine on

Abajo agregan:
Código: [Seleccionar]
RewriteRule ^post/([^/]*)/([^/]*)/([^/]*)\.html$ /?topic=$1&id_board=$2&body=$3 [L]
Rewriterule ^post/(.*)$ index.php?topic=$1
Suben la carpeta includes que esta en este post a la raiz:
http://spirate.net/foro/tutoriales-de-ayuda/(tuto)como-agregar-url-amigables-donde-se-quiera-(v2-3)/

Ah y otra cosa mas… algunos habran intentado poner url’s amigables con el .httacces con el buscador poniendo asi:
Código: [Seleccionar]
Rewriterule ^buscar(.*)$ index.php?action=search
Y luego en el index.template buscaron:
El href="', $scripturl, '?action=search  y luego lo cambiaron por
a href="', $scripturl, '/buscar "
a mi personalmente esto “NO” me funciono, para que me funcionara lo cambie por
a href="', $url, '/buscar "
y luego busque en el search.template:
<br><form name="buscador" method="GET"><center>
Y lo cambie por:
<br><form name="buscador" action="/" method="GET"><center>

Sin estos cambios el buscador no encuentro nada con las amigables

Además en el index.template en vez de usar
Código: [Seleccionar]
', $scripturl, ' 
usaba
Código: [Seleccionar]
 ', $url, '

Lo digo por si a alguien no le funciona y prueba como yo lo probe… si ven abajo en mi pagina por ejemplo  en el pie veran protocolo, terminus y condiciones y otras cosas con urls amigables, solo me funcionan poniendo: ', $url, '/protocolo NO ', $scripturl, '/protocolo
Que pasaba si ponía ', $scripturl, '  se preguntaran, sencillo, me iba a un post y cuando apretaba por ejemplo protocolo… se agregaba al final del url /protocolo y NO me redirigía al  protocolo

Se que no es aun 100% amigable… pero poco a poco se hara :) con la ayuda de todos

Por favor si dejan puntos no me lo den a mi, den a los que sudaron la gota gorda para esto, yo solo lo publique... los creditos estan arriba... denle los puntos a ellos ;)

Mi web para que vean las amigables: www.vinculame.com

Si algo no les salio me avisan porfa
« última modificación: Junio 24, 2011, 05:33:06 am por Samu »

Desconectado JU4MPY

  • Sr. Member
  • ****
  • Mensajes: 358
  • Power: 87
  • Sexo: Masculino
    • Ver Perfil
    • Gavok
Re: [TIP]: URLS Amigables en más partes de la web
« Respuesta #1 en: Junio 24, 2011, 05:59:07 am »
mira que wachiturro este Samu... :pokerface: +1

Mensaje Unido: Junio 24, 2011, 06:02:56 am
va ahora qe pinso esto ya lo estaba posteado. na me cagaste, yo msabia que eras pela billetera we...
« última modificación: Junio 24, 2011, 06:02:56 am por JU4MPY »
en la escuela te enseñaron a no ser creativo

Desconectado brayan2259

  • SPadicto
  • ******
  • Mensajes: 1167
  • Power: 221
  • Sexo: Masculino
  • To be or not to be...
    • Ver Perfil
Re: [TIP]: URLS Amigables en más partes de la web
« Respuesta #2 en: Junio 24, 2011, 06:23:43 am »
Buen Tuto ! esta bien explicado :hi: +1 Point Ahora tienes Power: 2


Luis LMFAO

Desconectado Chuz

  • Staff Jubilado
  • *
  • Mensajes: 1292
  • Power: 157
  • Sexo: Masculino
  • Lo que en los libros no está, la vida te enseñará.
    • MSN Messenger - Chuz@forocuak.com
    • Ver Perfil
    • Forocuak
Re: [TIP]: URLS Amigables en más partes de la web
« Respuesta #3 en: Junio 24, 2011, 06:35:28 am »
Comentario de KappoAdmi.n eliminado.
Porfavor no desvirtuar el tema.


Movido a Consejos y trucos...


Gracias por el aporte, se agradece. +1 :hi:




Desconectado Samu

  • Newbie
  • *
  • Mensajes: 42
  • Power: 4
    • Ver Perfil
Re: [TIP]: URLS Amigables en más partes de la web
« Respuesta #4 en: Junio 24, 2011, 07:23:59 am »
Que significa wachiturro? :nvzbti:
Por cierto los puntos deberian darlos a los que lo hicieron esto.. yo solo fixee algunas partes en los ke encontre errores :nn:

Desconectado vincent

  • Full Member
  • ***
  • Mensajes: 142
  • Power: 1
    • Ver Perfil
Re:[TIP]: URLS Amigables en más partes de la web
« Respuesta #5 en: Enero 15, 2012, 12:10:55 am »
Por favor una ayuda, ya no se que hacer. Probé de todo muchas veces, lo hice leyendo otros tutos y nada.

Cuando edito el recent.template se borra casi toda mi web.

Les dejo una captura:


¿Alguien me lo puedo hacer y probar mi recent.template en su host?
Mi host es dattatec (es pago)
Les dejo mi recent.template adjuntado para que alguien me ayude y me lo modifique.

Espero ansioso que alguien me ayude. Gracias

Desconectado Samu

  • Newbie
  • *
  • Mensajes: 42
  • Power: 4
    • Ver Perfil
Re:[TIP]: URLS Amigables en más partes de la web
« Respuesta #6 en: Febrero 24, 2012, 02:19:14 am »
Por favor una ayuda, ya no se que hacer. Probé de todo muchas veces, lo hice leyendo otros tutos y nada.

Cuando edito el recent.template se borra casi toda mi web.

Les dejo una captura:


¿Alguien me lo puedo hacer y probar mi recent.template en su host?
Mi host es dattatec (es pago)
Les dejo mi recent.template adjuntado para que alguien me ayude y me lo modifique.

Espero ansioso que alguien me ayude. Gracias

Pero ya hiciste todo lo que dice el post?

Desconectado santyyx

  • Soporte Oficial
  • *
  • Mensajes: 3409
  • Power: 385
  • Sexo: Masculino
  • Get up, stand up, don't give up the fight.
    • Ver Perfil
    • Email
Re:[TIP]: URLS Amigables en más partes de la web
« Respuesta #7 en: Febrero 24, 2012, 02:44:19 am »
Por favor, no revivas temas viejos.