loc 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.
Demek istediğim bu değişkeni modülü çağırmadan eşitlemek. Yani