- 締切済み
Array Array と表示される
Pagerを入れてみたらArray Arrayと表示されます。何が原因なのかわからず困っています。お力をお願い致します。
- みんなの回答 (14)
- 専門家の回答
みんなの回答
- 11spec0
- ベストアンサー率83% (10/12)
$smarty->assign('pagelink',$plink['all']); $smarty->assign('pagedata',$pdata['all']); ですが、 $smarty->assign('pagelink',$plink['all']); $smarty->assign('pagedata',$pdata); にしてください。$pdataはallしても意味がないので。 また、print_rの件ですが、 $plink['all']ではなくて print_r($plink)の意味で言ったのですが、こちらの結果はどんな感じになりますか? 何も表示されなくなったとのことですが、 $params=array( 'perPage'=> 1, ←1にしてみて下さい。 'itemData'=> $data ); $page = Pager::factory($params); $pdata = $page->getPageData(); $plink = $page->getLinks(); $smarty->assign('pagelink',$plink['all']); $smarty->assign('pagedata',$pdata); こちらで見てみてください。
- 11spec0
- ベストアンサー率83% (10/12)
試しにリンクをprint_rしてみてください。結果はどうでしょうか?
お礼
お返事ありがとうございます。いつもお力になっていただきまして大変感謝しております。まず、最初のエラーなんですが、間違いがありました。すみません。 $smarty->assign('pagelink',$plink['all']); $smarty->assign('pagedata',$pdata['all']); の['all']を入れたときはエラーがでずArray Arrayも消えて何もページ送り表示はなくただ商品が配置されただけになりました。 これであっているのかわかりませんが $smarty->assign('pagelink',$plink['print_r']);に変えても結果は同じでした。友達のサーバーにファイルを置かしてもらってファイルを見ていただくのも違反になるのでしょうか・・・
- 11spec0
- ベストアンサー率83% (10/12)
なるほどですね。 $smarty->assign('pagelink',$plink); ただ単に$plinkを渡しても型が配列なのでArrayと表示されてしまいます。 $smarty->assign('pagelink',$plink['all']); でアサインしてみてください。 こちらにリンク情報が入っております。
お礼
お返事ありがとうございます。$smarty->assign('pagelink',$plink['all']);と書き込みアサインしましたがエラーコードがでました。tpl側の{$pagelink}にも['all']を書いた方がいいのでしょうか?$smarty->assign('pagelink',$plink['all']);のみ書き込みした場合のエラーは下記のとおりでした。 Fatal error: Smarty error: [in rakuten01.tpl line 13]: syntax error: unrecognized tag: $pagelink['all'] (Smarty_Compiler.class.php, line 446) in /home/○○○○/public_html/server/smarty/Smarty.class.php on line 1095
- 11spec0
- ベストアンサー率83% (10/12)
これだけではなんとも答えようがありません。ロジックを載せていただければ何かしらのアドバイスができると思いますので、よろしくお願いします。
お礼
お返事ありがとうございます。「smartyでページングするには」では大変ご迷惑をおかけしました。11spec0さんに教えて頂いたように $params=array( 'perPage'=> $max, 'itemData'=> $data ); $page = Pager::factory($params); $pdata = $page->getPageData(); $plink = $page->getLinks(); $smarty->assign('pagelink',$plink); $smarty->assign('pagedata',$pdata); と以前と同じPHPにいれてのですが、商品はでてくるのですが、ページング部分の表示場所にArray Arrayの文字が出てきます。 ご迷惑をおかけしましたが、11spec0が頼りです。お力をかして下さい。
- 1
- 2
お礼
お返事ありがとうございます。11spec0様がご指摘させたように、 $params=array( 'perPage'=> 1, 'itemData'=> $data ); $page = Pager::factory($params); $pdata = $page->getPageData(); $plink = $page->getLinks(); $smarty->assign('pagelink',$plink['all']); $smarty->assign('pagedata',$pdata); でした場合は表示されたのは、 1 2 Next >> Array のように表示されましたがリンクは出来ませんでした。また、$smarty->assign('pagelink',print_r($plink);の場合、商品の配列の上に、 Array ( [0] => [1] => 1 2 [2] => Next >> [3] => [4] => [2] [5] => 1 2 Next >> [6] => [back] => [pages] => 1 2 [next] => Next >> [first] => [last] => [2] [all] => 1 2 Next >> [linktags] => ) 商品配列の下に 1 Array と表示されやはりリンクはできませんでした。 気になっているのが、HTML側では <div id="rakuten"></div> <script type="text/javascript"> //<![CDATA[ Rakuten({ id : 'rakuten', keyword : 'DVD', field : true, max : 10, //商品数量を指定 min_price : 1000, //最低金額指定 max_price : 50000, //最高金額指定 sort : '-reviewCount', tid : 1, url : 'http://サーバー/server/app/rakuten/rakuten.php' }); //]]> このコードを貼り付けるようになっているのですが、何か関係があるのでしょうか。 11spec0様のお陰でページ送りの表示が出てきたので、すごく感動しております。少しづつですが前に進んでいることが実感できうれしく思っています。
補足
※コードを書き直し表示更新をすると、 Parse error: syntax error, unexpected T_STRING in /home/サーバー名/public_html/server/app/rakuten/rakuten.php on line 72 と表示され、更新ボタンを押すとちゃんと商品表示されます。unexpected T_STRINGということは、文字がちゃんとかかれていないとでるとどこかのサイトに書いてありましたが、更新ボタンを押すとなくなりますが、やはりどこかおかしいのでしょうか。