Bagaimana saya bisa membuat item menu pada subdomain yang berbeda?

8

Saya ingin membuat struktur menu seperti ini di Joomla 2.5:

  • Root ( www.example.com)
    • Tentang ( www.example.com/about)
    • Situs a ( a.example.com)
    • Situs b ( b.example.com)

Apakah mungkin untuk membuat item menu dengan subdomain yang berbeda dan bagaimana cara membuatnya? Saya bekerja dengan CMS "typo3" sebelumnya dan tidak ada masalah dalam melakukan ini, tetapi pencarian panjang melalui internet tidak membantu saya dengan masalah ini.

Sunting: Catat itu a.example.comdan b.example.comberada di instalasi Joomla yang sama, jadi saya ingin membuat "Artikel Tunggal" baru dengan subdomain.

Marc T.
sumber
1
Tolong beri kami informasi lebih lanjut tentang pengaturan Joomla Anda. Bagaimana Anda melayani subdomain dari satu instalasi Joomla?
TryHarder
1
Apa konten untuk situs a dan situs b? Apakah ini hanya item menu tunggal yang menautkan ke artikel atau mereka lebih kuat dengan menu dan halaman mereka sendiri?
David Fritsch
Maaf saya tidak punya waktu untuk menjawab kemarin. Saya akan melayani subdomain tersebut ke instalasi Joomla yang sama dan daripada joomla atau komponen harus melakukan pengalihan (a.example.com dan bukan www.example.com/a.hmtl)
Marc T.

Jawaban:

4

Saya belum mencobanya, tetapi Artio JoomSef mengklaim untuk menyediakan fungsionalitas tersebut.
Anda dapat menentukan bagian situs web Anda yang akan digunakan untuk subdomain yang berbeda. Mungkin layak untuk memeriksanya.

Dokumentasi Artio JoomSEF

JoomSEF - konfigurasi Subdomain

Jika Anda mencari konfigurasi yang lebih kompleks, ekstensi Joomla MultiSites memungkinkan Anda untuk menjalankan banyak situs joomla, dari satu instalasi, dengan berbagai konfigurasi. Tautan ke bagian JED ini disediakan di jawaban lain di sini.

FFrewin
sumber
Ini adalah pandangan singkat yang saya inginkan. Saya tahu komponen Multi Situs juga, tetapi saya tidak ingin beberapa situs web.
Marc T.
2

Untuk item menu yang perlu Anda tautkan ke sub domain Anda, buka:

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

Kemudian di Linkbidang Anda dapat mengetik URL dari sub domain Anda.

web-tiki
sumber
Maaf, saya tidak cukup jelas. Saya mengedit di atas. Itu harus instalasi joomla yang sama DAN situs yang sama.
Marc T.
1

Anda tidak dapat benar-benar melakukan ini dengan Joomla asli, tetapi Anda dapat menggunakan ekstensi yang mencoba membantu Anda melakukan ini.

Anda dapat menemukannya di JED

Harald Leithner
sumber
1

Jika Anda tidak ingin menggunakan komponen eksternal untuk ini, maka Anda dapat membuat URL eksternal di menu Anda menunjuk a.example.comdan menggunakan .htaccessfile Anda untuk mendapatkan konten dari tautan situs Anda yang ada.

Sebagai contoh

<IfModule mod_rewrite.c>
    RewriteEngine on

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

Misalkan, jika pengguna Anda mengunjungi URL ini a.example.com/user/sd, maka konten akan example.com/user/sdtanpa mengubah URL aktual di browser.

Ikuti metode ini hanya jika Anda terbiasa dengan .htaccesspenggunaan file dan ok dengan pengeditan manual. Ini berguna jika Anda tidak ingin menggunakan seluruh ekstensi baru hanya untuk beberapa url.

Saurin Dashadia
sumber
0

Saya tahu ini agak lama pertanyaan ini, tetapi saya bertanya-tanya hal yang sama dan di sini adalah solusi yang saya buat jika Anda mengubah file index.php templates dengan sedikit kode tambahan Anda dapat membuat beberapa posisi modul berdasarkan subdomain , dan kemudian Anda menetapkan item menu yang benar ke subdomain yang relevan.

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

Dalam contoh di atas, baris awal $ sub adalah apa yang Anda perlukan untuk menyesuaikan untuk situs web Anda sendiri, saat ini contoh membuat ruang untuk modul navigasi tergantung pada subdomain - ini dibuat untuk situs dengan dua sub domain dan domain umum sehingga menciptakan tiga posisi navigasi untuk setiap subdomain - navigationhome navigationplus dan navigationgroup.

Beberapa hal yang perlu diperhatikan dengan kode -

untuk menemukan subdomain saya telah menggunakan fungsi in_array. Saya bisa menggunakan pernyataan switch pada $ dom [1] untuk menemukan subdomain tetapi ini tidak akan berhasil jika seseorang mengetikkan sesuatu seperti www.plus.mysite.co.uk karena www akan berada di $ dom [1] ... misalnya

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

ledakan awal menggunakan str_replace untuk menggantikan // dengan. ini agar http / https awal berakhir di array itu sendiri ($ dom [0] akan selalu berisi http / https yang saya kira bisa digunakan lebih lanjut jika Anda ingin menampilkan situs yang berbeda tergantung pada protokol yang dimuat, jika itu tidak ada maka seseorang memasukkan sesuatu seperti http://plus.mysite.co.uk maka array pertama akan berisi http: // plus dan in_array tidak akan menghasilkan kecocokan.

Ingatlah bahwa jika sub-domain sama dengan domain situs maka Anda harus memastikan itu adalah yang terakhir di? : rantai pernyataan jika tidak maka akan menugaskan dirinya sendiri ke subdomain lain - misalnya jika Anda memiliki dua sub domain yang disebut site.site.co.uk dan site1.site.co.uk lainnya pernyataan berikut akan berfungsi

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

tetapi tak satu pun dari ini akan berfungsi dengan baik dalam situasi itu ...

    $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

Tidak mungkin Anda akan menggunakan ini dengan cara ini tetapi perlu dicatat.

TheKLF99
sumber
-1

Ya, Anda dapat membuat struktur menu di Joomla. Secara umum item menu menunjuk ke tampilan dalam komponen yang menentukan item dan parameter lainnya.

Ketika Anda menginstal Joomla dengan data demo pembelajaran, Anda akan melihat dua situs sampel yang sangat berbeda, termasuk demo pembelajaran, mengajarkan Anda segala sesuatu tentang Joomla.

sovainfo
sumber
Bisakah Anda menjelaskan hal ini? Saya belum pernah melihat subdomain yang digunakan seperti ini dengan pengaturan stok joomla. Itu selalu membutuhkan plugin SEF untuk mengganti stok barang. Dua situs berbeda mencari ya, tetapi tidak dari menu dengan subdomain sebagai url mereka.
Brian Peat
Konten situs joomla tidak terkait dengan (sub) domain. Anda mengkonfigurasi jaringan dan server web Anda untuk menghadapinya.
sovainfo
Benar, tetapi jawaban Anda sebenarnya tidak memberikan solusi. Saya menduga solusinya termasuk mengatur dns dengan benar dan kemudian menggunakan tautan menu eksternal untuk mengirim pengguna ke nama subdomain. Jika tidak, Anda hanya akan berakhir di halaman reguler di joomla (jika Anda hanya menautkan ke artikel). Ini sama sekali bukan pengaturan maju lurus.
Brian Peat
Tidak memiliki instruksi yang jelas. Ingat mengatur dua toko menggunakan hikashop dengan cara ini, tahun lalu. Jangan ingat detailnya. Anda mungkin ingin beberapa hal dalam .htaccess untuk mengarahkan ke url yang sesuai. Sangat tergantung pada kebutuhan Anda.
sovainfo
Saya sarankan untuk menghapus jawaban ini. Ini benar-benar tidak memberi OP banyak informasi.
Brian Peat