Merhaba Arkadaşlar,
Codeigniter ile duraksadığım 2 yer oldu birden fazla konu açmak istemedim. yardım edebilirseniz sevinirim.
1.si sınırsız sayfalama (kategori) yapıyorum id - sayfa_adi ust_id ve icerik şeklinde.
menu de bu oluşturduğum sayfa kategorilerini şu şekilde listelemek istiyorum örnek:
siteadi.com/kurumsal
siteadi.com/kurumsal/hakkimizda // ile devam.
url de id görülmeyecek örnekteki gibi.
nasıl bu şekilde sayfa kategorilerini listeleyip link verebilirim acaba. diğer türlü url de idyi gösterek yaptım fakat öğrenmek açısından bunu soruyorum.
2.si language - çoklu dil olayında language klasöründe gerekli dil dosyalarımı hazırladım $lang["hello"]="merhaba"; şeklinde
link yapısı siteadi.com/en siteadi.com/tr şeklinde göstermek istiyorum controller dosyam nasıl olmalı acaba.
Yardım edebilirseniz çok sevinirim. şimdiden teşekkürler...
Codeigniter için birkaç yardım ?
8
●1.595
- 13-11-2012, 21:26:48$route['en'] = 'home/index/$1';Alıntı
$route['tr'] = 'home/index/$1';
home = controller, index = function oluyor
bu şekilde çözüleceğini düşünüyorum.
--
1.soruyu tam anlamamakla beraber, uri içinde herhangi bir belirteç kullanmak istemiyorsunuz. Eğer bu şekildeyse şık olanı XHR ile yapmanız, daha az şık olanı ise post metodu ile yapmanız. Ancak post metodu ile yaparsanız sayfalama için pagination sınıfına ekstra kodlar göndermelisiniz diye tahmin ediyorum belki yanlış düşünüyor olabilirim.
/kategori/1
/kategori/2
/kategori/3
gibi linklerinizi sıralarsınız, tıklama olayı gerçekleşince javascript ile tetiklenen fonksiyon çalıştırarak istediğiniz sayfayı çağırabilirsiniz.
Anladığım şekliyle cevap veriyorum
- 13-11-2012, 21:33:36Üyeliği durdurulduCodeInteger bilmiyorum fakat 1. sorunun cevabi;
Database'de verilerin tutuldugu tabloya url diye bi sutun daha ac ve oraya title'in gecersiz karakterlerden aridirilmis halini kaydeddir. (ölrnek ali-ata-kos.html , ali-ata-bin.do vs..)
sonrasinda php ile urlden gelen degiskeni al ve e$ gelen urlye ait verileri sqlden cektir.
Muhtemelen buraya kadar olan yerler zaten herkesce yapiliyor. Kayit esnasinda, eger ayni url varsa -1, -2, -3 vb. gibi kayit ettirmek icinde, var olan url sayisi +1 kullanabilirsin. Temiz bir kodlama yapman sart cunku karisikligin olusmasi an meselasi ve URL degistirmek bilinirki cok iyi bisey degildir. Calismaya basladiktan sonra takildigin yeri yazarsan yardimci olurum. - 13-11-2012, 21:46:40Üyeliği durdurulduşöyle anlatayım.
menu de <ul><li> </li></ul> şeklinde sayfa kategorilerimi listeleyip link yapım örnek
Kurumsal Hizmetlerimiz
--Hakkımızda --Deneme
Link yapısı da Kurumsal için siteadi.com/kurumsal Hakkımızda için siteadi.com/kurumsal/hakkimizda olarak göstermek istiyorum (veritabanında "sayfa" tablosunda id - ust_id - sayfa_adi - sayfa_icerik ve sef_link olarak verileri tutuyorum.)
Sanırım bu sorum anlaşılmıştır
- 13-11-2012, 22:12:13evet açıklanmış ama bir de ben yazayım. Öncelikle üst mesajımda 1.maddeyi tamamıyla görmezden gelebiliriz.
site.com/pages/link
diyelim ki bu adres istemci tarafından istenildi ve siz de 2.segment üstünden verilerinizi veritabanından çekiyor ona göre kullanıcıya aktarıyorsunuz.
not : kullandığınız yazılımda $this->uri->segment(2,0); olarak alabilirsiniz.
tablonuzda sizin yaptığınız şekilde sef_link, wordpress gibi permalink ya da permanent_link yani kalıcı bir bağlantı kolonu yapabilirsiniz.
bu kolon içinden veriyi buluyorsunuz.
$uri = 'hakkimizda';
Örnek : "SELECT `content` FROM `pages` WHERE `link` = '$uri'";
sonuç fonksiyonu ile $result['content'] elde edebilirsiniz. Yani tablonuzda yok ise ekstra bir kolona ihtiyaç duyacaksınız. Bu kolonda ise bu sayfaların (tercihen Türkçe karakter bulundurmayan) mümkün ise benzersiz verilerini tutacaksınız.
hakkimizda, sizden-gelenler, sizden_gelenler, bize_sorun gibi haliyle depolama yapmanız gerekiyor. - 13-11-2012, 22:28:37Üyeliği durdurulduanladım . peki routes dosyamın içeriğini nasıl ayarlıyacağız hocam?miscel adlı üyeden alıntı: mesajı görüntüle
- 14-11-2012, 00:06:35Üyeliği durduruldubu dil eklentin hazır https://github.com/EllisLab/CodeIgni...ge-Translation
o dediğinn olay içinde
slug oluştur örneğin
1.slug 'hakkimizda'
2.slug 'deneme'.......
routes ten al $get ile alıcaksn zaten kontrollerde routestede
$1 birinciyi alır $2 ikinci değeri ordan ayarla
şunuda istiyorsan misal ../hakkimizda bu $1 ama böyle istiyorsan .../hakkimizda/deneme
deneme $2 eğer $2 değeri varsa onu al onu gönder sorguya yoksa $1 i gönder..... - 14-11-2012, 01:17:01Üyeliği durduruldu
- 15-11-2012, 20:34:51Üyeliği durduruldusayfa içeriğini gösterdiğim controller sayfamBHCoder adlı üyeden alıntı: mesajı görüntüle
function show ($id=NULL,$id2=NULL,$id3=NULL) { $this->load->model("page_model"); $data_item = array ( "veri" => $this->page_model->page($id,$id2,$id3), ); $this->template->view("template/page_content",$data_item);viewden siteadicom/kurumsal olarak link verdiğimde $id=kurumsal modele gidecek gelen verileri yazdıracak.
siteadicom/kurumsal/hakkimizda olarak link verdiğimde $id=hakkimizda olarak görmeli ki $id yi modelden veri çekebilelim.
ben bütün idleri gönderdim saçma oldu biliyorum
fakat düzenli bir controller ve route dosyasına ihtiyacım var inceliyebileceğim.