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?