Как я могу загрузить данные, т.е. $mytweets
в конкретный div
пределах определенного шаблона / представления ie footer.php
?
У меня есть twitteruserfeed.php
как мой контроллер для получения твитов, но я не знаю, как представить его в уже существующем.
HTML:
<div id="fresh-tweetfeed"> $mytweets GOES HERE </div>
PHP:
class TwitterUserFeed extends CI_Controller { public function __construct() { parent::__construct(); } public function getTweets() { $params = array( 'userName' => 'RowlandBiznez', 'consumerKey' => 'hgfhhgffhg', 'consumerSecret' => 'hhffhfghfhf', 'accessToken' => 'hfhhhfhhf', 'accessTokenSecret' => 'hfhfhfhfhhfhfh', 'tweetLimit' => 5 // the no of tweets to be displayed ); $this->load->library('twitter', $params); $tweets = $this->twitter->getHomeTimeLine(); $this->load->helper('tweet_helper'); $mytweets = getTweetsHTML($tweets); echo $mytweets; } }
У меня также есть вспомогательный файл tweet_helper.php. Помогите мне с этой презентацией.
Если твиты должны отображаться на каждой странице, расширьте CI_Controller
(создайте файл MY_Controller.php
внутри папки application/core
) и выберите / сохраните твиты в свойстве:
class MY_Controller extends CI_Controller { public $tweets = ''; public function __construct() { // Execute CI_Controller Constructor parent::__construct(); // Store the tweets $this->tweets = $this->getTweets(); } public function getTweets() { $params = array( 'userName' => 'RowlandBiznez', 'consumerKey' => 'hgfhhgffhg', 'consumerSecret' => 'hhffhfghfhf', 'accessToken' => 'hfhhhfhhf', 'accessTokenSecret' => 'hfhfhfhfhhfhfh', 'tweetLimit' => 5 // the no of tweets to be displayed ); $this->load->library('twitter', $params); $tweets = $this->twitter->getHomeTimeLine(); $this->load->helper('tweet_helper'); $mytweets = getTweetsHTML($tweets); return $mytweets; } }
Затем в каждом контроллере используйте это свойство при загрузке представления:
$this->load->view('path/to/view', array('tweets', $this->tweets));
Вы также можете загрузить твиты, отправив запрос XHR от клиента к Controller/Method
(после обслуживания страницы), а затем вставьте ответ на страницу по Javascript.
Вот пример jQuery:
$.ajax({ url : <?php echo base_url('controller/method'); ?>, type : 'GET', success : function (result) { // Insert the result into a container $('#fresh-tweetfeed').append(result); } });