Menghilangkan "Readmore" Pada Drupal Teaser

Hallo selamat siang, bermasalah dengan "Read More" yang selalu muncul di durpal frontpage? pengen "Read More" dihilangkan? Kali ini gue mau kasi sedikit tutorial gimana caranya menghilangkan "Read More" yang ada di Teaser. FYI, tombol "Read More" itu ada di node-teaser. Gue mau kasih 2 cara untuk menghilangkannya.

Cara Pertama

Dengan memanfaatkan CSS code, mudah saja kita menghilangkan node readmore pada node teaser. Pada file style.css (misalnya) atau namafile.css (tentunya yang udah di deklarasi di TemplateKamu.info :D) ketikkan kode berikut :

.node-teaser li.node-readmore {display:none}

Langkah tersebut hanya menghilangkan secara display saja, namun masih tetap di load oleh situs. Karena pada prinsipnya sintaks "display:none" pada css hanya bersifat menghilangkan display namun tetap me load fungsi yang dimaksud.

Cara Kedua

Cara kedua memanfaatkan file template.php. Pada file template.php, ketikkan kode berikut :

<?php
	// Preprocess variables untuk node.tpl.php.
	function NamaTemplate_preprocess_node(&$variables) {
		// menghilangkan node readmore
		unset($variables['content']['links']['node']['#links']['node-readmore']);
		// Memasang lagi node readmore dengan variable yang berbeda
		$variables['newreadmore'] = t('<span class="newreadmore"> <a href="!title">Read More</a> </span>',
			array(
			'!title' => $variables['node_url'],
			)
		);
	}
?>

Berikut ini penjelasan dari cara kedua

<?php
	// Preprocess variables untuk node.tpl.php.
	function NamaTemplate_preprocess_node(&$variables) {
	}
?>

Baris syntax diatas mendeklarasikan fungsi preprocess unutk node. Jangan lupa untuk mengganti "NamaTemplate" dengan nama template yang kamu gunakan"

Kemudian syntax dibawah ini digunakan untuk menghilangkan readmore

<?php
	// Preprocess variables untuk node.tpl.php.
	function NamaTemplate_preprocess_node(&$variables) {
		// menghilangkan node readmore
		unset($variables['content']['links']['node']['#links']['node-readmore']);
	}
?>

Selanjutnya adalah membuat variabel readmore baru. Gue pake $node_url sebagai readmore link. Fungsinya adalah ketika kita akan memanggilnya kembali, akan lebih mudah. Jika ingin mempilkannya, hanya dengan membuka file node.tpl.php kemudian ketikkan syntax ini :

<?php print $newreadmore; ?>

Cara Ketiga

Sebenernya cara ini gak gue rekomendasiin karena menempatkan logic di file tpl.php (harusnya sih semua logic di template.php), tapi bisa lah dipake kalau emang merasa lebih mudah. Cara ketiga ini memanfaatkan file node.tpl.php. Pada file tersebut, ketikkan code dibawah ini :

<?php hide($content['links']['#links']['node-readmore']); ?>

Untuk memunculkannya kembali di page yang lain, bisa menggunakan syntax berikut :

<?php 
if($teaser){
      print l(t('Read more'), '../' . $node_url, array('attributes' => array('class' => t('newreadmore')))); 
  } 
?>

Semoga tutorialnya berkenan dihati hehehe

Comments

Posting yang sangat bermanfaat, cuma belum dijelaskan kelebihan dan kekurangan dari ketiga cara di atas. bagi saya, cara pertama paling mudah.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.