Bagaimana cara menambahkan judul situs ke semua halaman kecuali halaman depan?

8

Dalam Konfigurasi Global Joomla 2.5 di bawah SEO, ada opsi untuk "Sertakan Nama Situs dalam Judul Halaman", dengan opsi "Setelah", "Sebelum" atau "Tidak". Namun, bagaimana Anda memasukkan nama situs ("Setelah") di semua halaman kecuali halaman depan? (Dan mungkin untuk halaman lain juga?)

Ini ada di Joomla 2.5, namun, saya juga ingin tahu apakah prosesnya berbeda di Joomla 3.

Fungsionalitas inti atau solusi kode manual lebih disukai. Namun, jika ada ekstensi yang sesuai yang menyediakan fungsionalitas ini maka jangan ragu untuk menyarankan ini juga.

TuanWhite
sumber
1
Saya tidak tahu pasti, tetapi saya menduga jawabannya adalah bahwa Anda tidak dapat tanpa ekstensi (atau mod ke template). Saya ingin tahu sendiri jawabannya :)
Brian Peat

Jawaban:

7

Untuk mengatur judul halaman depan berbeda dari judul halaman lain, tambahkan kode berikut ke file index.php template di akhir informasi kepala.

$menu = $app->getMenu();
    if ($menu->getActive() == $menu->getDefault()) {
    $this->setTitle( 'Whatever You Want Title' );
    }

Kode ini akan mengatur judul halaman depan secara independen dari cara Joomla mengatur sisa halaman. Ini berfungsi pada Joomla 2.5 dan saya percaya ini juga akan bekerja di seri 3.x.

Dan Walker
sumber
Terima kasih, ini sebenarnya metode yang akhirnya saya gunakan - berfungsi dengan baik.
MrWhite
4

SEO RS dapat melakukan ini di luar kotak. Dalam konfigurasi Anda mengatur bagaimana Anda ingin judul situs ditambahkan, maka Anda dapat mengedit halaman apa pun yang Anda inginkan setelah ditambahkan. Ini sangat penting untuk halaman yang memiliki judul panjang yang akan terlalu panjang jika Anda menambahkan nama situs ke judul.

Brent Friar
sumber
3

Empat opsi di sini: A) menggunakan bahasa asli Joomla sebelum, sesudah atau tidak. Lalu masuk ke item menu rumah Anda dan tambahkan judul browser. Itu akan MASIH menggunakan sebelum, sesudah atau tidak, tetapi setidaknya Anda mendapatkan nama khusus dari itu. Jadi akan terlihat seperti:

Memberikan Layanan selama 100 Tahun - Nama Perusahaan

B) Tambahkan kode ini di bawah tag tubuh terbuka Anda:

 <?php 
 $app = JFactory::getApplication();
 $this->setTitle($this->getTitle().' | '.$app->getCfg('sitename'));
 ?>

Ini memberi Anda opsi untuk menggunakan penahan pipa alih-alih tanda hubung, atau karakter lain pilihan Anda. Anda juga dapat, alih-alih menggunakan sitename, dapat meletakkan sesuatu di sana dan menambahkannya ke semua judul browser.

Memberikan Layanan selama 100 Tahun | Nama Perusahaan

C) Setel Joomla Anda ke no. Secara manual menulis semua judul peramban item menu. Tidak mengerikan untuk situs yang lebih kecil. Sangat mengerikan untuk situs yang lebih besar.

D) Saya belum mencoba ini, tapi saya pikir itu akan berhasil. Secara teori sih. Tambahkan id ke beranda Anda.

Ini melampaui doctype:

<?php
  $app = JFactory::getApplication();
  $menu = $app->getMenu()->getActive();
  $pageclass = '';

  if (is_object($menu))
    $pageclass = $menu->params->get('pageclass_sfx');
?>

Dan ini menggantikan tubuh

<body id="<?php echo $pageclass ? htmlspecialchars($pageclass) : 'default'; ?>">

Sekarang tambahkan kelas ke item menu Anda. Ini akan muncul sebagai ID tubuh. SEKARANG, gunakan kode yang disediakan dalam opsi D, dan letakkan fungsi php di sekitarnya mencegahnya dari berjalan pada ID tubuh halaman rumah Anda (maaf saya tidak tahu bagaimana menulis php atau saya akan melakukannya untuk Anda), kemudian isi judul browser di item menu rumah Anda. Segala sesuatu yang lain akan ditambahkan nama situs Anda, tetapi halaman rumah.

Faye
sumber
Terima kasih atas semua sarannya. Sejujurnya saya tidak yakin bagaimana cara Dkerjanya? Saya dapat melihat bahwa ini dapat digunakan untuk mengubah judul halaman dengan CSS mungkin, tetapi saya harus benar-benar menulis ke TITLEelemen. Pada akhirnya saya akhirnya menggunakan hibrida dari Anda Bdan Dsaran untuk memeriksa terlebih dahulu bahwa menu yang sedang aktif adalah "default" (mis. Kita ada di halaman depan) dan kemudian memanggil setTitle()untuk secara manual menimpa judul hanya untuk bagian depan halaman.
MrWhite
Maksud saya gunakan id sebagai elemen dalam pernyataan php yang mengatakan "jika badan ini memiliki id ini, jangan sertakan kode ini yang menambahkan judul situs". Tapi hei, jika ocehan saya memberi Anda ide, jalankan dengan itu!
Faye
3

Saya membuat modul yang dapat Anda tetapkan untuk halaman apa saja dan menimpa judul dan deskripsi meta (Ini sebenarnya untuk menambahkan kode kustom ke situs dan kode tambahan ke kepala halaman tetapi ia melakukan ini juga).

http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/custom-code-in-modules/17842

Tetapkan konfigurasi global seperti yang Anda inginkan dari sebagian besar situs, lalu gunakan modul untuk menargetkan halaman tertentu.

Robert Went
sumber
1

Sejauh yang saya tahu, tidak ada opsi seperti itu untuk setiap halaman.

Saya belum pernah mencoba ini pada joomla inti, tetapi saya telah menggunakan plugin bernama " SEO generator " di masa lalu, yang memiliki opsi untuk menyesuaikan judul halaman dengan menambahkan nama situs (mirip dengan opsi inti joomla), dengan beberapa tambahan pengaturan untuk judul halaman halaman depan kustom.

Tetapi jika Anda ingin melakukan hal yang sama untuk lebih banyak halaman, plugin ini tidak akan melakukannya, kecuali jika Anda memodifikasi kodenya dan membuatnya memeriksa item menu tertentu dengan id yang ingin Anda terapkan nama situs tambahan.

Mungkin ada ekstensi lain yang dapat menawarkan manajemen admin item menu yang Anda ingin memiliki pengaturan khusus mengenai judul halaman, tetapi saya tidak tahu namanya.

Tentu saja, selalu ada cara manual di mana Anda dapat menulis judul yang Anda inginkan untuk setiap halaman.

Namun SEO mengenai, menggunakan nama situs di semua halaman ini, tidak selalu merupakan ide terbaik.

FFrewin
sumber