digiklan adlı üyeden alıntı: mesajı görüntüle
Problem include edilen dosyanın içindeki $newproducts değişkeninin fonksiyon içinde tanımlanmamasından kaynaklanıyor.
Fonksiyona modul ismi ile birlikte newproducts değişkenini de vermek gerekiyor.
Mesela


if (!function_exists('viewblock'))
{
   function viewblock($module, $newproducts = '')
   {
      $blockpath = "app/views/blocks/{$module}.php";
      return (include $blockpath);
   }
}


<?php $np=0; foreach ($newproducts as $newproduct){ ?>
	<section class="item news<?php if($np==0){ ?> active<?php } ?>">
		<img src="<?= $newproduct['image']; ?>">
		<div class="title">
			<a href="/products/<?= $newproduct['id']; ?>/"><?= $newproduct['title']; ?></a>
		</div>
		<p><strong>Ürün Fiyatı:</strong> <?= $newproduct['price']; ?></p>
		<a href="/products/<?= $newproduct['id']; ?>/" class="details">Detaylı Bilgi</a>
	</section>
<?php $np++; } ?>

<?= viewblock("newproducts", $newproducts); ?>
Global scope değişkeni local scope fonksiyon içinde çağıramazsınız. Ya çağıracağınız değişkeni fonksiyon içinde global olarak tanımlamanız, ya da fonksiyona vereceğiniz ek bir parametre ile fonksiyon içine aktarmanız lazım.
1. sorum:

Şimdi ben her blok eklemek istediğimde fonksiyona $newproducts='' gibi bir parametre tanımlamam gerekecek. Bunu bir standarda bağlamak için ne yapmam gerekir?

2. sorum üstteki kodlarınız çalıştı bunun için teşekkür ederim fakat verdiği çıktıda bir de 1 şeklinde rakam çıktısı veriyor. Bu neyden kaynaklanıyor olabilir?