Come posso creare una voce di menu su un sottodominio diverso?


8

Voglio creare una struttura di menu come questa in Joomla 2.5:

  • Root ( www.example.com)
    • Informazioni ( www.example.com/about)
    • Sito a ( a.example.com)
    • Sito b ( b.example.com)

È possibile creare voci di menu con diversi sottodomini e come si creano? Ho lavorato con il CMS "typo3" in precedenza e non ci sono stati problemi a farlo, ma una lunga ricerca su Internet non mi ha aiutato con questo problema.

EDIT: Si noti che a.example.come b.example.comsono sulla stessa installazione di Joomla, quindi mi piacerebbe fare un nuovo "singolo articolo" con un sottodominio.


1
Vi preghiamo di darci maggiori informazioni sulla configurazione di Joomla. Come stai servendo i sottodomini da un'unica installazione di Joomla?
TryHarder,

1
Qual è il contenuto del sito ae del sito b? Sono solo singole voci di menu che si collegano a un articolo o sono più robuste con il proprio menu e le proprie pagine?
David Fritsch,

Mi dispiace di non aver avuto tempo di rispondere ieri. Servirò quei sottodomini nella stessa installazione di Joomla e quindi joomla o un componente deve eseguire il reindirizzamento (a.example.com e non www.example.com/a.hmtl)
Marc T.

Risposte:


4

Non l'ho provato, ma Artio JoomSef afferma di fornire tale funzionalità.
Puoi specificare sezioni del tuo sito Web da utilizzare per diversi sottodomini. Potrebbe essere utile controllarlo.

Documentazione Artio JoomSEF

JoomSEF - Configurazione dei sottodomini

Se stai cercando configurazioni più complesse, le estensioni Joomla MultiSites ti consentono di eseguire molti siti joomla, da un'unica installazione, con varie configurazioni. Un link a questa sezione JED è fornito in un'altra risposta qui.


Questo è in breve quello che volevo. Conosco anche il componente Multi Sites, ma non desidero più siti Web.
Marc T.,

2

Per le voci di menu che devi collegare ai tuoi sottodomini, vai a:

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

Quindi nel Linkcampo è possibile digitare l'URL dei sottodomini.


Scusa, non ero abbastanza chiaro. Ho fatto una modifica sopra. Dovrebbe essere la stessa installazione di joomla E lo stesso sito.
Marc T.

1

Non puoi davvero farlo con Joomla nativo, ma puoi usare un'estensione che cerca di aiutarti a farlo.

Li puoi trovare su JED


1

Se non si desidera utilizzare un componente esterno per questo, è possibile creare un URL esterno nel menu che punta a a.example.come utilizzare il .htaccessfile per ottenere contenuti dal collegamento esistente del sito.

Per esempio

<IfModule mod_rewrite.c>
    RewriteEngine on

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

Supponiamo che se l'utente visita questo URL a.example.com/user/sd, il contenuto sarà example.com/user/sdsenza cambiare l'URL effettivo sul browser.

Utilizzare questo metodo solo se si ha familiarità con l' .htaccessutilizzo dei file e si accetta la modifica manuale. Questo è utile se non vuoi usare l'intera nuova estensione per pochi URL.


0

So che questa domanda è un po 'vecchia, ma mi chiedevo la stessa cosa ed ecco la soluzione che mi è venuta in mente se cambiassi il file index.php dei template con un po' di codice extra potresti creare più posizioni del modulo in base al sottodominio e quindi si assegna la voce di menu corretta al sottodominio pertinente.

    $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; ?>

Nell'esempio sopra la riga che inizia con $ sub è ciò che dovresti personalizzare per il tuo sito web, attualmente l'esempio crea uno spazio per un modulo di navigazione a seconda del sottodominio - questo è stato creato per un sito con due sottodomini e un dominio generale e quindi crea tre posizioni di navigazione per ciascun sottodominio: navigationhome navigationplus e navigationgroup.

Alcune cose da notare con il codice:

per trovare il sottodominio ho usato la funzione in_array. Avrei potuto usare un'istruzione switch su $ dom [1] per trovare il sottodominio ma questo non funzionerebbe se qualcuno digitasse qualcosa come www.plus.mysite.co.uk come www sarebbe in $ dom [1] ... per esempio

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

l'esplosione iniziale usa str_replace per sostituire // con. questo in modo che l'http / https iniziale finisca nel suo array ($ dom [0] conterrà sempre l'http / https che suppongo possa essere utilizzato ulteriormente se si desidera mostrare siti diversi a seconda del protocollo caricato, se quello non c'era allora qualcuno è messo in qualcosa come http://plus.mysite.co.uk quindi il primo array conterrebbe http: // plus e in_array non restituirebbe alcuna corrispondenza.

Tieni presente che se il sottodominio è uguale al dominio del sito, devi assicurarti che sia l'ultimo nel? : catena di istruzioni altrimenti si assegnerà ad altri sottodomini - ad es. se avessi due sottodomini uno chiamato site.site.co.uk e l'altro site1.site.co.uk la seguente istruzione funzionerebbe

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

ma nessuno di questi funzionerebbe correttamente in quella situazione ...

    $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

È improbabile che li utilizzeresti in questo modo, ma vale la pena notare.


-1

Sì, puoi creare quella struttura di menu in Joomla. In generale, le voci di menu puntano a una vista in un componente che specifica la voce e altri parametri.

Quando installi Joomla con i dati della demo di apprendimento, noterai due siti di esempio completamente diversi, inclusa la demo di apprendimento, che ti insegnano tutto su Joomla.


Puoi spiegarlo? Non ho mai visto un sottodominio usato in questo modo con una configurazione joomla di serie. Ha sempre richiesto un plug-in SEF per sovrascrivere il materiale di magazzino. Sì, due siti dall'aspetto diverso, ma non dal menu con sottodomini come URL.
Brian Peat,

Il contenuto di un sito joomla non è correlato a (sotto) domini. Configura la tua rete e il tuo server web per gestirlo.
sovainfo,

Giusto, ma la tua risposta in realtà non offre una soluzione. Ho il sospetto che la soluzione includa la configurazione corretta del DNS e quindi l'utilizzo del collegamento al menu esterno per inviare l'utente al nome del sottodominio. Altrimenti, finiresti semplicemente su una pagina normale in joomla (se ti colleghi semplicemente a un articolo). Non è affatto una configurazione semplice.
Brian Peat,

Non ho istruzioni chiare. Ricorda di aver creato due negozi usando hikashop in questo modo, anni fa. Non ricordare i dettagli. Probabilmente vuoi alcune cose in .htaccess per indirizzare agli URL appropriati. Molto a seconda delle tue esigenze.
sovainfo,

Suggerirei quindi di rimuovere questa risposta. In realtà non sta dando all'OP molte informazioni.
Brian Peat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.