php - URL con nombre de usuario en Joomla 3.3
.htaccess url-redirection (1)
Estoy buscando una solución para mostrar la URL con nombre de usuario. Estoy usando la versión estable de Joomla 3.3.0.
Ex. site_url / userp-username
Traté de resolver esto usando .htaccess con las siguientes reglas que he usado para mis sitios web centrales de PHP.
RewriteRule ^userp-([a-zA-Z0-9-_]+)/?$ site_url/index.php?option ... er_name=$1 [R=301,L]
Cuando pulso la URL, por ejemplo, http://sitename.com/userp-vishal07 , ejecuta el código que deseo llamar para esta url y muestra los resultados correctamente. Pero url no se mantiene como está y se convierte en http://vicciivital.com/index.php/en/component/users/profile?layout=view_profile&user_name=vishal07
No puedo entender cómo funciona la redirección de Joomla. Por favor corrígeme si estoy cometiendo algún error aquí.
Por razones que nunca he entendido, el enrutador com_users no enruta ningún perfil, excepto el propio perfil del usuario.
/**
* Method to get a route configuration for the profile view.
*
* @return mixed Integer menu id on success, null on failure.
* @since 1.6
*/
public static function getProfileRoute()
{
// Get the items.
$items = self::getItems();
$itemid = null;
// Search for a suitable menu id.
//Menu link can only go to users own profile.
foreach ($items as $item)
{
if (isset($item->query[''view'']) && $item->query[''view''] === ''profile'')
{
$itemid = $item->id;
break;
}
}
return $itemid;
}
Lo que tendría que hacer es extender este método para manejar los perfiles de todos. Solo asegúrese de tratar con la situación de que hay un elemento de contenido o etiqueta con el mismo alias que el alias para el usuario.
En general, la solución más fácil es usar com_contact como un perfil. Al activar el complemento del creador de contactos, se crearán contactos para sus nuevos usuarios automáticamente y el contacto podrá mostrar cualquier cosa desde un complemento de perfil. También puede mostrar artículos por el usuario y luego también puede agregar complementos para otras cosas si lo desea. Para mí, siempre funciona mucho mejor que jugar con el perfil de com_users.