Kenan Taş – Blog

Kişisel Web Sayfası

Joomla – Joomfish – İkinci dilde istenmeyen menü öğelerinin silinmesi

Merhaba arkadaşlar, kendimden biliyorum ki insanlar ihtiyaç duydukça araştırma yapıyorlar.

Daha önce yapmış olduğum bir web sayfasında Türkçe olan bazı menü öğelerinin İngilizce sayfada çıkmaması yönünde bir talep geldi. Sorun ikinci dilde istenmeyen menü öğelerinin kaldırılması ile başladı, daha sonra modül konumu ekleme ile devam etti, tam sorunlar çözüldü derken menü öğelerinin bozuk çıkması yeni bir sorun oluştu. Bende webde yapmış olduğum detaylı araştırmalar sonucunda birazda üstüne kendim birşeyler ekleyerek sorunu çözüme kavuşturdum.

Şimdi gelelim sorunun çözümüne;

Öncelikle bunun direkt bir çözümü yok yani yönetim panelinden değişiklik yaparak bir çözüme ulaşamıyoruz. Bunun yerine Değişiklik yapacağımız menünün bir kopyasını oluşturup,  bir if koşulu ile birinci dilde orjinal menünün ikinci dilde ise kopyaladığımız menünün çıkmasını sağlıyoruz. kopyaladığımız ikinci menüyü istediğimiz gibi değiştirebiliriz, çünkü sadece ingilizce sayfada çıkacak. Gelelim bunu nasıl yapıyoruz kısmına

Kullandığımız temanın index.php dosyasını açıyoruz, ardından değişiklik yapılması istenen menümüzün konumunu buluyoruz. Benim kullandığım konum user3 tü.

  1. <jdoc:include type="modules" name="user3" />

kodu yerine

  1. <?php if ($this->language=="tr-tr") { ?>
  2. <jdoc:include type="modules" name="user3" />
  3. <?php } if ($this->language=="en-gb") { ?>
  4. <jdoc:include type="modules" name="user3en" />
  5. <?php } ?>

kodunu kendi modül konumumuza ve kullanacağımız dile göre değiştirip yapıştırıyoruz. Bundan sonra karşılaşılan sorun sitede modül konumu çıkmıyor, siteye modül konumunu nasıl ekleyebilirim. Temamızın içindeki templateDetails.xml dosyasını açıp diğer konumların ekli olduğu gibi,

  1. <position>user3en</position>

şeklinde deminki kodda belirttiğimiz modül konumunu buraya ekliyoruz.

Burda birçoğumuzun sorunu büyük ihtimalle hallolmuş oluyor ama birde sonradan eklediğimiz modülün bozuk çıkma ihtimali var ve ben o ihtimalle de karşılaştım :)

Buna çözüm olarak da  kullanılan tema => html => mod_mainmenu dizinleri içindeki default.php dosyamızı açıp, ordan orjinal menu konumunu bulup basit bir or ile elle oluşturduğumuz menü konumunu da ekliyoruz ve o modülün özelliklerini almasını sağlıyoruz..

  1. if ($attribs['name'] == 'user3' or $attribs['name'] == 'user3en')

Umarım faydalı olabilmişimdir.

, , , , , ,

9 thoughts on “Joomla – Joomfish – İkinci dilde istenmeyen menü öğelerinin silinmesi
  • oguz says:

    yazı çok faydalı oldu teşekkürler, aynı problemi bende yaşıyorum, hatta içerik öğelerinde türkçe de çıkan içerik ingilizcede çıkmasın diye bir talep var, üstelik k2 kullanıyorum bu konuda bir çözüm önerebilirmisiniz. Kontrol panelinde ne işe yaradığını çözemediğim What to show if adında bir bölüm var ama çalıştıramadım.

  • Kenan TAŞ says:

    Rica ederim, k2 hiç kullanmadım o nedenle o konu hakkında bir fikrim yok..

  • srdar says:

    harikasın ellerine, diline, aklına, fikrine sağlık teşekkürler allah razı olsun

  • Kenan TAŞ says:

    Rica ederim, faydalı olabildiysem ne mutlu bana..

  • satori says:

    Çalışmanız için tebrik ederim. mükemmel… benim 2 noktada problemim oldu:
    1- tema => html => mod_mainmenu dizinleri içindeki default.php de söylenilen gibi bir staır malesef yok. sanırım tema kaynaklı bir problem.
    2- benzer çalışmayı logo farklılığı için de kullanabiliriz sanırım. şu anda onun üzerinde çalışıyorum. yardımlarınızı bekliyorum.
    teşekkürler

    • Kenan TAŞ says:

      Teşekkür ederim arkadaşım,
      İlk problem için :
      templates/kullandığınTema/html/mod_mainmenu dizinindeki default.php (ki muhtemelen doğru yere bakmışsındır ama tedbir her zaman iyidir, tekrar kontrol edersin) default.php dosyasında

       if ($attribs['name'] == 'user3')

      (yine muhtemelen user3 senin kullandıgın tema da farklı bir isimdir) kodu mevcut. Bir kaç farklı tema da kontrol ettim, tekrar bakarsın bulamazsan tema ile alakalıdır, farklı temalar üzerinde denemeler yaparsın.

      2. Hususta herhangi bir çalışmam olmadı ama dediğin gibi benzeri yöntemlerle logo da halledilebilir, şuanda bitirme tezimi verme aşamasında olduğum için yakın zamanda ilgilenemem ama sonrası için bir çalışmam olursa mutlaka paylaşırım..

  • domain says:

    Hurrah, that’s what I was looking for, what a information!
    existing here at this website, thanks admin of this
    site.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>