![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Jak skorzystać z AdoDB w Smarty wykorzystując modułowość Smartiego?
Mam następujące pliki: [php:1:fc665c0fa4] <?php // --- index.php --- // (...) $objDBConn = &ADONewConnection($dbms); $objDBConn->Connect($dbhost, $dbuser, $dbpasswd, $dbname); // (..) $objSmarty->assign( 'objDBConn', $objDBConn ); $output = $objSmarty->fetch( 'index.tpl' ); echo $output; ?> [/php:1:fc665c0fa4] Kod {* Smarty *}
{* --- index.tpl --- *} {include file="show_news.tpl"} Kod {* Smarty *}
{* --- show_news.tpl --- *} {include_php file="_includes/show_news.php"} {section name="news" loop=$newsData} {* (...) *} {/section} [php:1:fc665c0fa4] <?php // --- show_news.php --- // (...) $objNewsRecordset = $this->objDBConn->Execute($strSqlQuery); ?> [/php:1:fc665c0fa4] Dostaję w wyniku: Cytat Fatal error: Call to a member function Execute() on a non-object in D:...show_news.php on line...
I teraz mam pytanie - co robię źle, że nie mam dostępu do obiektu AdoDB z pliku show_news.php?? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
1. zamiast:
$output = $objSmarty->fetch( 'index.tpl' ); echo $output; $objSmarty->display( 'index.tpl' ); 2. Po co przerzucać na smarty zabawę z rekordami? Czy nie wymagamy wtedy zbyt dużo od designera? Ja robię to tak: [php:1:c5b1163dd4]<?php $arrData = $this->objDBConn->GetAll( $strSqlQuery ); $objSmarty->assign_by_ref( "arrData", $arrData); //lub $objSmarty->assign( "arrData", &$arrData); (daje to chyba ten sam efekt) ?>[/php:1:c5b1163dd4] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.09.2025 - 10:52 |