Drupalle yaratılan içerikleri kullanıcılara gösterirken özel sayfa düzenlemeleri nasıl yaparız?
İçerikle ilgili girilen verileri özel bir sistemle kullanıcılara gösterebilmenin yöntemi nedir?
İçerik sayfalarını node.tpl.php dosyasından veya Content Templates (Contemplate) eklentisini kullanarak düzenleyebilirsiniz. Eğer farklı içerik türleri için farklı sayfa tasarımları kullanmak istiyorsanız bu durumda node.tpl.php dosyasının her içerik türü için bir kopyasını oluşturup bu kopyaları node-icerik_turunun_adi_buraya.tpl.php olarak adlandırdıktan sonra gerekli düzenlemeleri yapabilirsiniz.
mesela girilen içeriğe özgü bir şablon yaratıp sürekli kullanıcıların o şablonla girilen içeriği görebilmesi,
ayrıca girilen içeriği sonraki sayfa ve önceki sayfa gibi kısayollar eklemek istiyorum. ancak bunu nasıl başaracağımı bilmiyorum.
Şablonu yukarıda bahsettiğim yöntemlerle oluşturabilirsiniz. Önceki ve sonraki sayfa özelliği ise Drupal'de sadece forum içeriklerinde mevcut. Bu özelliği forum.module dosyasında yer alan şu fonksiyon ile sağlıyorlar. Benzer bir kullanım ile diğer içerik türlerinde de önceki/sonraki konular gösterilebilir sanırım.
/**
* Preprocess variables to format the next/previous forum topic navigation links.
*
* $variables contains $node.
*
* @see forum-topic-navigation.tpl.php
* @see theme_forum_topic_navigation()
*/ function template_preprocess_forum_topic_navigation(&$variables){ $output='';
// get previous and next topic $sql="SELECT n.nid, n.title, n.sticky, l.comment_count, l.last_comment_timestamp FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid INNER JOIN {term_node} r ON n.nid = r.nid AND r.tid = %d WHERE n.status = 1 ORDER BY n.sticky DESC, ". _forum_get_topic_order_sql(variable_get('forum_order',1)); $result= db_query(db_rewrite_sql($sql),isset($variables['node']->tid) ? $variables['node']->tid:0);
onur serkan
tema düzenlemesi
İçerik sayfalarını node.tpl.php dosyasından veya Content Templates (Contemplate) eklentisini kullanarak düzenleyebilirsiniz. Eğer farklı içerik türleri için farklı sayfa tasarımları kullanmak istiyorsanız bu durumda node.tpl.php dosyasının her içerik türü için bir kopyasını oluşturup bu kopyaları node-icerik_turunun_adi_buraya.tpl.php olarak adlandırdıktan sonra gerekli düzenlemeleri yapabilirsiniz.
"Özel bir sistem"den kastınız nedir anlaşılmıyor.
hunanka
İçeriğe Özgü Şablon
mesela girilen içeriğe özgü bir şablon yaratıp sürekli kullanıcıların o şablonla girilen içeriği görebilmesi,
ayrıca girilen içeriği sonraki sayfa ve önceki sayfa gibi kısayollar eklemek istiyorum. ancak bunu nasıl başaracağımı bilmiyorum.
onur serkan
Şablonu yukarıda bahsettiğim
Şablonu yukarıda bahsettiğim yöntemlerle oluşturabilirsiniz. Önceki ve sonraki sayfa özelliği ise Drupal'de sadece forum içeriklerinde mevcut. Bu özelliği forum.module dosyasında yer alan şu fonksiyon ile sağlıyorlar. Benzer bir kullanım ile diğer içerik türlerinde de önceki/sonraki konular gösterilebilir sanırım.
* Preprocess variables to format the next/previous forum topic navigation links.
*
* $variables contains $node.
*
* @see forum-topic-navigation.tpl.php
* @see theme_forum_topic_navigation()
*/
function template_preprocess_forum_topic_navigation(&$variables) {
$output = '';
// get previous and next topic
$sql = "SELECT n.nid, n.title, n.sticky, l.comment_count, l.last_comment_timestamp FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid INNER JOIN {term_node} r ON n.nid = r.nid AND r.tid = %d WHERE n.status = 1 ORDER BY n.sticky DESC, ". _forum_get_topic_order_sql(variable_get('forum_order', 1));
$result = db_query(db_rewrite_sql($sql), isset($variables['node']->tid) ? $variables['node']->tid : 0);
$stop = $variables['prev'] = $variables['next'] = 0;
while ($topic = db_fetch_object($result)) {
if ($stop == 1) {
$variables['next'] = $topic->nid;
$variables['next_title'] = check_plain($topic->title);
$variables['next_url'] = url("node/$topic->nid");
break;
}
if ($topic->nid == $variables['node']->nid) {
$stop = 1;
}
else {
$variables['prev'] = $topic->nid;
$variables['prev_title'] = check_plain($topic->title);
$variables['prev_url'] = url("node/$topic->nid");
}
}
}