Hocam hala fonksiyon kavramın oturmamış.
Benim söylediğim şekilde yapsaydın hata olmazdı.
Sende fonksiyon kavramı henüz netleşmemiş.
Bak şöyle anlatayım. Bir fonksiyon kaç değişkene göre hareket edecekse bu değişkenleri fonksiyonun içine aktarman lazım.
Modül dosyasının ismi bir değişken, diğer değişkende çağırılan modül dosyasının içinde işleme girecek bir değişken varsa o.
Değişken isimlerini anlamlı yazarsan sorun kalmaz.
function viewblock($modul_ismi, $ekstra_parametre){
}
Şimdi sen burada fonksiyonu çağırırken ikinci değişken olarak $source da yazsan, $newproducts da yazsan fonksiyonun içine $ekstra_parametre olarak geçecek.
Senin yapman gereken fonksiyonun içine geçen bu $eksta_parametre değişkenini modül içinde aynı isimle kullanmak, ya da başka bir değişken kullanıyorsan ona eşitlemek.
İlk mesajına göre kodları yeniden yazıyorum.
if (!function_exists('viewblock'))
{
function viewblock($module, $ekstra_parametre= '')
{
$blockpath = "app/views/blocks/{$module}.php";
return (include $blockpath);
}
} <?php
$newproducts = $ekstra_parametre;
$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++; } ?><?pgp echo viewblock("newproducts", $newproducts); ?>