İçerik başlıkları ile ileri geri menü yapımı
Bir eklenti ile drupal motorunu daha fazla zorlamadan içerik metinlerimizin altına bir önceki ve bir sonraki içeriklerin başlıklarından oluşan bir ileri geri navigasyon menü yapabiliriz. Bunun için template.php, node.icerik_turu.tpl.php ve style.css dosyalarına ufak kod blokları ekliyoruz.
Sıra ile aşağıdaki adımları takip ederek menünüzü oluşturabilirsiniz:
- Aşağıdaki kod bölümünü kullandığınız temanın template.php dosyasının sonuna ekleyiniz.
// Ayrıntılı bilgi ve farklı örnekler için aratmedya.com.
//Bu kod bölümü Drupal Association tarafından hazırlanmış Cihan Arat tarafından uyarlanmıştır.
// Bu fonksiyon bölümünü kullandığınız temanın template.php dosyasının sonuna ekleyiniz.
function phptemplate_prev_next($current_node = NULL, $op = 'p') {
// Node types to include in paging
$node_types = array('webtasarim');
if ($op == 'p') {
$sql_op = '<';
$order = 'DESC';
}
elseif ($op == 'n') {
$sql_op = '>';
$order = 'ASC';
}
else {
return NULL;
}
$output = NULL;
foreach($node_types as $type) {
$quoted_types[] = "'" . $type . "'";
}
$sql = "SELECT nid, title FROM {node} n
WHERE nid $sql_op %d
AND type IN (" . implode(',', $quoted_types) . ")
AND status = 1
ORDER BY nid $order
LIMIT 1";
$result = db_query($sql, $current_node->nid, $type);
$data = db_fetch_object($result);
if (!isset($data->nid) || !$data->nid) {
return NULL;
}
return l($data->title, "node/$data->nid", array('html' => TRUE));
}
Buradan $node_types = array('webtasarim'); kısmında webtasarim içerik türünün adıdır. İleri geri menü olurturmak için hangi içerik türünü istiyorsanız onu yazınız.
- Daha sonra aşağıdaki kod bölümünü temanızın style.css dosyasının sonuna ekleyiniz.
/* Bu kod bölümünü style.css dosyanıza yapıştırınız */
.aratmedya_pager_div_class {
width: 100%;
margin-top:5px;
margin-bottom:15px;
clear: both;
display: block;
text-align: center;
line-height: 1.5em;
}
.aratmedya_pager_prev_class {
display: block;
float: left;
text-align: right;
width: 200px;
white-space: normal;
word-wrap: break-word;
padding: 0;
}
.aratmedya_pager_div_class .aratmedya_pager_main_class {
float: left;
text-align: center;
display: inline;
padding: 0 1em 0 1em;
}
.aratmedya_pager_next_class {
display: block;
float: left;
text-align: left;
width: 200px;
white-space: normal;
word-wrap: break-word;
padding: 0;
}
.aratmedya_pager_laquo_class {
float: left;
width: 10px;
}
.aratmedya_pager_raquo_class {
float: right;
width: 10px;
}
/*İçerik başlıkları ile ileri geri Navigasyon still kodları bitimi*/
- Temanızdaki node.tpl.php veya node-içerik_turu.tpl.php sayfaları içinde aşağıdaki kodu bulun:
<?php print $content; ?>
- Devamına aşağıdaki kodu ekleyiniz.
<?php if (!$teaser) : ?>
<div class="aratmedya_pager_div_class">
<div class="aratmedya_pager_laquo_class">«</div>
<div class="aratmedya_pager_prev_class"> <?php print phptemplate_prev_next($node, 'p') ?> </div>
<div class="aratmedya_pager_main_class"> | <a href="<?php print base_path() ?>">Anasayfa</a> | </div>
<div class="aratmedya_pager_next_class"> <?php print phptemplate_prev_next($node, 'n') ?> </div>
<div class="aratmedya_pager_raquo_class">»</div>
</div>
<?php endif; ?>
<!-- İçerik sayfalama bitişi -->
![]()
Bu style.css ve diğer dosyalara eklediğimiz kodları değiştirip kullanarak daha farklı menüler oluşturabilirsiniz.
Edit: Bu derse ek olarak birden fazla içerik türünde bu özelliği kullanmak için gerekli değişiklikler eklenmiştir. Buradaki konunun sonunda yapmanız gereken değişiklikler bulunmaktadır.
- Yeni yorum ekle
- 770 kez okundu

teşekkürler
Ben teşekkür ederim.