0

特定のページで何度も呼び出される可能性があるため、ビューの負荷を共有するヘルパー関数を作成しています。唯一の問題は、それがたまにしか機能しないことですが、関連するすべてのファイルがそこにあり、CodeIgniterによってエラーメッセージが生成されません。関数を呼び出すビューは次のとおりです。

        <div id="newProducts" class="floatLeft">
        <div class="titleBar">
            <h4>New Product Arrivals</h4>
        </div>
<?php foreach($newProducts as $product) :
        loadshareProductPreview($product);
endforeach; ?>

そして、これまでの関数は次のとおりです。

function loadShareProductPreview($product)
{

$time = microtime(true);

if($time % 3 == 0)
{

    include("/home/client/library/application/views/widgets/productPreview.php");

}
elseif($time % 3 == 1)
{

    include("/home/client/library/application/views/widgets/productPreviewLS1.php");

}
elseif($time % 3 == 2)
{

    include("/home/client/library/application/views/widgets/productPreviewLS2.php");

}

}

これを常にロードする方法について何かアイデアはありますか?

4

1 に答える 1

0

コメントのアドバイスに従って、incude() を置き換える関数を作成しました。コードは次のとおりです。

<?php
function loadShareProductPreview($product)
{

    $time = microtime(true);

    if($time % 3 == 0)
    {

        load_view("widgets/productPreview", $product);

    }
    elseif($time % 3 == 1)
    {

        load_view("widgets/productPreviewLS1", $product);

    }
    elseif($time % 3 == 2)
    {

        load_view("widgets/productPreviewLS2", $product);

    }

}

function load_view($view, $vars = '', $return = FALSE)
{

  $CI =& get_instance();
  return $CI->load->view($view, $vars, $return);
}
于 2012-05-25T13:50:54.423 に答える