Как поместить данные с контроллера в элемент specfic div в представлении

Как я могу загрузить данные, т.е. $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. Помогите мне с этой презентацией.

Решение №1:

Если твиты должны отображаться на каждой странице, расширьте 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)); 

Решение №2:

Вы также можете загрузить твиты, отправив запрос 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); } });