¿Cómo puedo crear un elemento de menú en un subdominio diferente?


8

Quiero crear una estructura de menú como esta en Joomla 2.5:

  • Raíz ( www.example.com)
    • Sobre ( www.example.com/about)
    • Sitio a ( a.example.com)
    • Sitio b ( b.example.com)

¿Es posible crear elementos de menú con diferentes subdominios y cómo los creo? Trabajé con el CMS "typo3" anteriormente y no hubo ningún problema para hacerlo, pero una larga búsqueda en Internet no me ayudó con este problema.

EDITAR: Tenga en cuenta que a.example.comy b.example.comestán en la misma instalación de Joomla, por lo que me gustaría hacer un nuevo "Artículo único" con un subdominio.


1
Danos más información sobre tu configuración de Joomla. ¿Cómo sirve los subdominios de una instalación de Joomla?
TryHarder

1
¿Cuál es el contenido para el sitio a y el sitio b? ¿Son solo elementos de menú individuales que enlazan con un artículo o son más robustos con su propio menú y páginas?
David Fritsch

Lo siento, no tuve tiempo de responder ayer. Serviré esos subdominios a la misma instalación de Joomla y luego joomla o un componente tiene que hacer la redirección (a.ejemplo.com y no www.example.com/a.hmtl)
Marc T.

Respuestas:


4

No lo he probado, pero Artio JoomSef dice que ofrece esa funcionalidad.
Puede especificar secciones de su sitio web para utilizarlas en diferentes subdominios. Puede valer la pena comprobarlo.

Documentación de Artio JoomSEF

JoomSEF - Configuración de subdominios

Si está buscando configuraciones más complejas, las extensiones Joomla MultiSites le permiten ejecutar muchos sitios de Joomla, desde una instalación, con varias configuraciones. Un enlace a esta sección JED se proporciona en otra respuesta aquí.


Esto es a corto plazo más o menos lo que quería. También conozco el componente Sitios múltiples, pero no quiero varios sitios web.
Marc T.

2

Para los elementos del menú que necesita vincular a sus subdominios, vaya a:

menu-item parameters > menu item type > system links > choose "External URL"

Luego, en el Linkcampo, puede escribir la URL de sus subdominios.


Lo siento, no fui lo suficientemente claro. Hice una edición arriba. Debe ser la misma instalación de joomla Y el mismo sitio.
Marc T.

1

Realmente no puedes hacer esto con Joomla nativo, pero puedes usar una extensión que intente ayudarte a hacerlo.

Puedes encontrarlos en JED


1

Si no desea utilizar un componente externo para esto, puede crear una URL externa en su menú que apunte a.example.comy use su .htaccessarchivo para obtener contenido del enlace existente de su sitio.

Por ejemplo

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^a.example.com
    RewriteRule ^(.*) http://example.com/$1 [P]
</IfModule>

Supongamos que si su usuario visita esta URL a.example.com/user/sd, el contenido será example.com/user/sdsin cambiar la URL real en el navegador.

Use este método solo si está familiarizado con .htaccessel uso de archivos y está bien con la edición manual. Esto es útil si no desea utilizar una extensión completamente nueva para solo unas pocas URL.


0

Sé que esta pregunta es un poco antigua, pero me preguntaba lo mismo y esta es la solución que se me ocurrió si cambia el archivo index.php de plantillas con un poco de código adicional, podría crear múltiples posiciones de módulo en función del subdominio , y luego asigna el elemento de menú correcto al subdominio relevante.

    $dom = explode ( '.', str_replace ( '//', '.', JURI::base () ) ) ;
    $sub = ( in_array ( 'plus', $dom ) ? 'plus' : ( in_array ('group', $dom) ? 'group' : 'home' ) ) ;
    if ($this->countModules('navigation'.$sub )) : ?>
        <nav class="navigation">
            <jdoc:include type="modules" name="navigation<?php echo $sub ?>" style="html5" />
        </nav>
    <?php  endif; ?>

En el ejemplo anterior, la línea que comienza $ sub es lo que necesitaría personalizar para su propio sitio web, en la actualidad, el ejemplo crea un espacio para un módulo de navegación según el subdominio; esto se creó para un sitio con dos subdominios y un dominio general y, por lo tanto, crea tres posiciones de navegación para cada subdominio: navigationhome navigationplus y navigationgroup.

Algunas cosas a tener en cuenta con el código:

para encontrar el subdominio, he usado la función in_array. Podría haber usado una declaración de cambio en $ dom [1] para encontrar el subdominio, pero esto no funcionaría si alguien escribiera algo como www.plus.mysite.co.uk ya que www estaría en $ dom [1] ... p.ej

    switch ( $dom[1] )
    {
        case 'group' : $sub = 'group' ; break ;
        case 'plus' : $sub = 'plus' ; break ;
        default : $sub = 'home' ; break ;
    }

la explosión inicial usa str_replace para reemplazar // con. esto es para que el http / https inicial termine en su propia matriz ($ dom [0] siempre contendrá el http / https que supongo que podría usarse más si quisiera mostrar diferentes sitios dependiendo del protocolo cargado, si eso no estaba allí, entonces alguien se puso en algo como http://plus.mysite.co.uk, entonces la primera matriz contendría http: // plus e in_array no devolvería ninguna coincidencia.

Tenga en cuenta que si el subdominio es el mismo que el dominio del sitio, entonces deberá asegurarse de que sea el último en el? : cadena de declaración; de lo contrario, se asignará a otros subdominios; por ejemplo, si tuviera dos subdominios, uno llamado site.site.co.uk y el otro site1.site.co.uk, la siguiente declaración funcionaría

    $sub = ( in_array ( 'site1' ) ? 'site1' : ( in_array ( 'site' ) ? 'site' : 'site' ) ) ;
    //it never reaches the in_array ( 'site' ) if sub domain is site1

pero ninguno de estos funcionaría correctamente en esa situación ...

    $sub = ( in_array ( 'site' ) ? 'site' : ( in_array ( 'site1' ) ? 'site1' : 'main' ) ) ; 
    // all domains would be referred to as site because XXX.site.co.uk provides a match
    $sub = ( in_array ( 'site1' ) ? 'site1' : ( in_array ( 'site' ) ? 'site' : 'main' ) ) ; 
    // www.site.co.uk would still be site and not main

Es poco probable que los use de esta manera, pero vale la pena señalar.


-1

Sí, puedes crear esa estructura de menú en Joomla. En general, los elementos del menú apuntan a una vista en un componente que especifica el elemento y otros parámetros.

Cuando instala Joomla con los datos de demostración de aprendizaje, notará dos sitios de muestra completamente diferentes, incluida la demostración de aprendizaje, que le enseñará todo sobre Joomla.


¿Puedes exponer esto? Nunca he visto un subdominio usado de esta manera con una configuración de stock de joomla. Siempre requería un complemento SEF para anular el material de archivo. Dos sitios de aspecto diferente, sí, pero no desde el menú con subdominios como sus URL.
Brian Peat

El contenido de un sitio joomla no está relacionado con (sub) dominios. Configura su red y servidor web para lidiar con eso.
sovainfo

Correcto, pero su respuesta en realidad no da una solución. Sospecho que la solución incluye configurar dns correctamente y luego usar el enlace del menú externo para enviar al usuario al nombre del subdominio. De lo contrario, terminaría en una página normal en joomla (si simplemente vincula a un artículo). No es una configuración sencilla en absoluto.
Brian Peat

No tengo instrucciones claras. Recordemos la creación de dos tiendas que usan hikashop de esta manera, hace años. No recuerdo los detalles. Probablemente desee algunas cosas en .htaccess para dirigir a las URL apropiadas. Mucho dependiendo de sus requerimientos.
sovainfo

Sugeriría eliminar esta respuesta entonces. Realmente no le está dando mucha información al OP.
Brian Peat
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.