Custom URL's en Drupal 5.x

Para cambiar el estilo las url's de nuestro sitio en drupal (por ejemplo www.example.com/node/14 a www.example.com/articulo/14) tenemos una función que nos puede ayudar. Esta función es custom_url_rewrite. A continuación les dejo un ejemplo de modificar la url con node por articulo.
<span style="color: #000000;">1.
<span style="color: #ff0000;"><span style="color: #0000bb;">2.    </span><span style="color: #007700;">function </span><span style="color: #0000bb;">custom_url_rewrite</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$op</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$result</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$path</span><span style="color: #007700;">) {
</span><span style="color: #0000bb;">3.      </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">$op </span><span style="color: #007700;">== </span><span style="color: #dd0000;">'alias'</span><span style="color: #007700;">) {
</span><span style="color: #0000bb;">4.        </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">preg_match</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'|^node/(.*)|'</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$path</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$matches</span><span style="color: #007700;">)) {
</span><span style="color: #0000bb;">5.          </span><span style="color: #007700;">return </span><span style="color: #dd0000;">'articulo/'</span><span style="color: #007700;">. </span><span style="color: #0000bb;">$matches</span><span style="color: #007700;">[</span><span style="color: #0000bb;">1</span><span style="color: #007700;">];
</span><span style="color: #0000bb;">6.        </span><span style="color: #007700;">}</span><span style="color: #0000bb;">
7.
8.      </span><span style="color: #007700;">}
</span><span style="color: #0000bb;">9.      </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">$op </span><span style="color: #007700;">== </span><span style="color: #dd0000;">'source'</span><span style="color: #007700;">) {
</span><span style="color: #0000bb;">10.        </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">preg_match</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'|^articulo(/.*)|'</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$path</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$matches</span><span style="color: #007700;">)) {
</span><span style="color: #0000bb;">11.          </span><span style="color: #007700;">return </span><span style="color: #dd0000;">'node'</span><span style="color: #007700;">. </span><span style="color: #0000bb;">$matches</span><span style="color: #007700;">[</span><span style="color: #0000bb;">1</span><span style="color: #007700;">];
</span><span style="color: #0000bb;">12.        </span><span style="color: #007700;">}
</span><span style="color: #0000bb;">13.
14.      </span><span style="color: #007700;">}</span><span style="color: #0000bb;">
15.      </span><span style="color: #007700;">return </span><span style="color: #0000bb;">$result</span><span style="color: #007700;">;
</span><span style="color: #0000bb;">16.    </span><span style="color: #007700;">
}</span><span style="color: #0000bb;">17.    ?&gt;</span></span></span>
Donde si el parámetro $op es 'source' quiere decir que hay que traducirla para el código y si es 'alias' se hace la traducción para la url. Esta función se guarda en el archivo settings.php de nuestro sitio (por ejemplo ejemplo/sites/default/settings.php) Saludos ...
Sin votos aún

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

CAPTCHA
Esta pregunta es para probar si tu eres un humano y para prevenir spam en el sitio.
5 + 12 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.