本文整理汇总了PHP中Channel::entries方法的典型用法代码示例。如果您正苦于以下问题:PHP Channel::entries方法的具体用法?PHP Channel::entries怎么用?PHP Channel::entries使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Channel
的用法示例。
在下文中一共展示了Channel::entries方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: entries
public function entries()
{
$tag = $this->EE->TMPL->fetch_param('tag');
// fix spacing
$tag = str_replace('+', ' ', $tag);
// Grab all entries with this tag
$this->EE->db->select('tl.tag_id, tl.entry_id');
$this->EE->db->from('exp_tagger_links tl');
$this->EE->db->join('exp_tagger t', 't.tag_id = tl.tag_id', 'left');
$this->EE->db->where('t.tag_name', $tag);
$this->EE->db->where_in('tl.site_id', $this->EE->TMPL->site_ids);
$this->EE->db->where('tl.type', 1);
$query = $this->EE->db->get();
// Did we find anything
if ($query->num_rows() == 0) {
return "No Results Found.";
}
// Loop through the results
$entry_ids = array();
foreach ($query->result() as $row) {
$entry_ids[] = $row->entry_id;
}
$this->EE->TMPL->tagparams['entry_id'] = implode('|', $entry_ids);
return parent::entries();
}
示例2: entries
function entries()
{
# Hijack the Functions class.
$functions = $this->EE->functions;
$this->EE->functions = new Dandy_cat_EE_Functions();
# Create a new instance of the EE Channel class so that it can do all of our heavy lifting.
$channel = new Channel();
# EE's Channel class completely refactors any category string with an '&' in it. Let's use commas to sneak past that bit of code.
if (isset($this->EE->TMPL->tagparams['category'])) {
$this->EE->TMPL->tagparams['category'] = str_replace('&', ',', $this->EE->TMPL->tagparams['category']);
}
# We use the the Channel Entries workhorse for most of this.
$entries = $channel->entries();
# Restore the Functions class and return.
$this->EE->functions =& $functions;
return $entries;
}
示例3: _parse_relationships
/**
* Parse Relationships
*
* Fools EE into thinking that this was an {exp:channel:entries} tag
*/
private function _parse_relationships($tagdata, $entry_ids, $fixed_order)
{
if (! $tagdata) return;
// -------------------------------------------
// Parse the relationships
// -------------------------------------------
// make sure $entry_ids is a pipe delimited string
if (is_array($entry_ids)) $entry_ids = implode('|', $entry_ids);
// entry_id= or fixed_order=
$entry_id_param = ($fixed_order && ! $this->EE->TMPL->fetch_param('order_by')) ? 'fixed_order' : 'entry_id';
$this->EE->TMPL->tagparams[$entry_id_param] = '0|'.$entry_ids;
// dynamic="nuts"
$this->EE->TMPL->tagparams['dynamic'] = 'no';
if (! isset($this->EE->TMPL->tagparams['disable']))
{
// disable everything but custom_fields by default
$this->EE->TMPL->tagparams['disable'] = 'categories|category_fields|member_data|pagination';
}
// prep TMPL with the cached tagdata
$this->EE->TMPL->tagdata = $tagdata;
$vars = $this->EE->functions->assign_variables($tagdata);
$this->EE->TMPL->var_single = $vars['var_single'];
$this->EE->TMPL->var_pair = $vars['var_pair'];
if (! class_exists('Channel'))
{
require PATH_MOD.'channel/mod.channel.php';
}
// create a new Channel object and run entries()
$Channel = new Channel();
return $Channel->entries();
}
示例4: _parse_relationships
/**
* Parse Relationships
*
* Fools EE into thinking that this was an {exp:channel:entries} tag
*/
private function _parse_relationships($tagdata, $entry_ids, $fixed_order)
{
if (!$tagdata) {
return;
}
// -------------------------------------------
// Parse the relationships
// -------------------------------------------
// make sure $entry_ids is a pipe delimited string
if (is_array($entry_ids)) {
$entry_ids = implode('|', $entry_ids);
}
// entry_id= or fixed_order=
$entry_id_param = $fixed_order && !$this->EE->TMPL->fetch_param('orderby') ? 'fixed_order' : 'entry_id';
$this->EE->TMPL->tagparams[$entry_id_param] = '0|' . $entry_ids;
// dynamic="nuts"
$this->EE->TMPL->tagparams['dynamic'] = 'no';
if (!isset($this->EE->TMPL->tagparams['disable'])) {
// disable everything but custom_fields by default
$this->EE->TMPL->tagparams['disable'] = 'categories|category_fields|member_data|pagination';
}
// prep TMPL with the cached tagdata
$this->EE->TMPL->tagdata = $tagdata;
$vars = $this->EE->functions->assign_variables($tagdata);
$this->EE->TMPL->var_single = $vars['var_single'];
$this->EE->TMPL->var_pair = $vars['var_pair'];
// _fetch_site_ids is meant to be a private method,
// so make sure it's still around before calling it
if (method_exists($this->EE->TMPL, '_fetch_site_ids')) {
$this->EE->TMPL->_fetch_site_ids();
}
// -------------------------------------------
// 'playa_parse_relationships' hook
// - Make any last-minute changes ta $tagparams, etc., before we call $Channel->entries()
//
if ($this->EE->extensions->active_hook('playa_parse_relationships')) {
$this->EE->extensions->call('playa_parse_relationships');
}
//
// -------------------------------------------
if (!class_exists('Channel')) {
require PATH_MOD . 'channel/mod.channel.php';
}
// create a new Channel object and run entries()
$Channel = new Channel();
return $Channel->entries();
}
示例5: details
function details()
{
$TMPL_cache = $this->EE->TMPL;
$tagdata = $this->EE->TMPL->tagdata;
if (!$tagdata) {
return;
}
$member_id = $this->EE->TMPL->fetch_param('member_id', 'current');
$member_entry_id = $this->EE->TMPL->fetch_param('member_entry_id', '');
$username = $this->EE->TMPL->fetch_param('username', '');
$url_title = $this->EE->TMPL->fetch_param('url_title', '');
if (!$member_id && !$member_entry_id) {
return;
}
if ($member_entry_id == '') {
if ($username != '') {
$entry_id = $this->EE->zoo_visitor_lib->get_visitor_id_by_username($username);
} else {
$entry_id = $this->EE->zoo_visitor_lib->get_visitor_id($member_id);
}
} else {
$entry_id = $member_entry_id;
}
$entry_id = !$entry_id ? "-1" : $entry_id;
$tagdata = str_replace("{visitor:", "{", $tagdata);
$tagdata = str_replace("{/visitor:", "{/", $tagdata);
$tagdata = str_replace("{if visitor:", "{if ", $tagdata);
$tagdata = str_replace("member:", "", $tagdata);
$tagdata = str_replace("/member:", "/", $tagdata);
$this->EE->TMPL->tagdata = $tagdata;
if (version_compare(APP_VER, '2.1.3', '<')) {
preg_match("/\\{if no_results\\}(.*?)\\{\\/if\\}/s", $tagdata, $m);
if (count($m) > 0) {
$this->EE->TMPL->no_results_block = $m[0];
$this->EE->TMPL->no_results = $m[1];
} else {
$this->EE->TMPL->no_results_block = '';
$this->EE->TMPL->no_results = '';
}
}
if ($url_title == '') {
$this->EE->TMPL->tagparams['entry_id'] = $entry_id;
}
if ($url_title != '') {
$this->EE->TMPL->tagparams['url_title'] = $url_title;
}
$this->EE->TMPL->tagparams['channel'] = $this->settings['member_channel_name'];
$this->EE->TMPL->tagparams['dynamic'] = 'no';
$this->EE->TMPL->tagparams['status'] = 'not closed';
$this->EE->TMPL->tagparams['show_expired'] = 'yes';
$this->EE->TMPL->tagparams['require_entry'] = $entry_id == '' || $entry_id == FALSE ? 'yes' : 'no';
if (!isset($this->EE->TMPL->tagparams['disable'])) {
$this->EE->TMPL->tagparams['disable'] = '';
//categories|category_fields|member_data|pagination';
}
$vars = $this->EE->functions->assign_variables($tagdata);
$this->EE->TMPL->var_single = $vars['var_single'];
$this->EE->TMPL->var_pair = $vars['var_pair'];
if (!class_exists('Channel')) {
require PATH_MOD . 'channel/mod.channel.php';
}
// create a new Channel object and run entries()
$Channel = new Channel();
return $Channel->entries();
}
示例6: array
function product_custom()
{
// We should have access to the TMPL class
// but if we run the product_custom parser
// from an ACT we need to load it.
if (!isset($this->EE->TMPL)) {
$tmp = new EE_Template();
$this->EE->TMPL = $tmp->EE->template;
}
// If they passed in the entry then we are set
$entry_id = $this->EE->TMPL->fetch_param('entry_id');
$product_id = $this->EE->TMPL->fetch_param('product_id');
// Ut oh. We need something to hold on too.
if ($entry_id == '' && $product_id == '') {
$this->EE->TMPL->log_item('BrilliantRetail: product_custom is a no go. We need an entry_id or product_id');
return '';
}
if ($entry_id == '') {
$this->EE->TMPL->log_item('BrilliantRetail: product_custom has no entry_id. Trying to retrieve from product_id');
$entry_id = $this->EE->product_model->get_product_entry($product_id);
}
if ($entry_id == '') {
$this->EE->TMPL->log_item('BrilliantRetail: product_custom is a no go. We have no entry_id to pair it too');
return '';
}
$this->EE->TMPL->log_item('BrilliantRetail: product_custom processing entry_id ' . $entry_id);
include_once APPPATH . 'modules/channel/mod.channel.php';
$this->EE->TMPL->tagparams['entry_id'] = $entry_id;
$this->EE->TMPL->tagparams['limit'] = '1';
$this->EE->TMPL->tagparams['dynamic'] = 'no';
$this->EE->TMPL->tagparams['show_future_entries'] = 'yes';
// We may need to name space the field if they are in a custom field
if (strpos($this->EE->TMPL->tagdata, '{br:') !== FALSE) {
$this->EE->TMPL->log_item('BrilliantRetail: found br: namespace in the product_custom tag for entry_id ' . $entry_id);
$original = array(LD . "br:", LD . "/br:");
// we need to do some magic on the tmpl data
$this->EE->TMPL->tagdata = str_replace($original, LD, $this->EE->TMPL->tagdata);
$this->EE->TMPL->tagchunk = str_replace($original, LD, $this->EE->TMPL->tagdata);
foreach ($this->EE->TMPL->tag_data as $key => $val) {
$this->EE->TMPL->tag_data[$key]["block"] = str_replace($original, LD, $this->EE->TMPL->tag_data[$key]["block"]);
$this->EE->TMPL->tag_data[$key]["chunk"] = str_replace($original, LD, $this->EE->TMPL->tag_data[$key]["chunk"]);
}
// Strip any name spaced single vars
foreach ($this->EE->TMPL->var_single as $key => $val) {
$tmp[str_replace('br:', '', $key)] = str_replace('br:', '', $val);
}
if (isset($tmp)) {
$this->EE->TMPL->var_single = $tmp;
unset($tmp);
}
// Strip any name spaced pair vars
foreach ($this->EE->TMPL->var_pair as $key => $val) {
$tmp[str_replace('br:', '', $key)] = str_replace('br:', '', $val);
}
if (isset($tmp)) {
$this->EE->TMPL->var_pair = $tmp;
unset($tmp);
}
}
$custom = new Channel();
$tagdata = $custom->entries();
return $tagdata;
}
示例7: _channel_entries
/**
* Call the native channel:entries method
*
* @access private
* @return string
*/
private function _channel_entries()
{
$this->_log('Calling the channel module');
// --------------------------------------
// Set dynamic="no" as default
// --------------------------------------
if (ee()->TMPL->fetch_param('dynamic') != 'yes') {
ee()->TMPL->tagparams['dynamic'] = 'no';
}
// --------------------------------------
// Take care of related entries
// --------------------------------------
if (version_compare(APP_VER, '2.6.0', '<')) {
// We must do this, 'cause the template engine only does it for
// channel:entries or search:search_results. The bastard.
ee()->TMPL->tagdata = ee()->TMPL->assign_relationship_data(ee()->TMPL->tagdata);
// Add related markers to single vars to trigger replacement
foreach (ee()->TMPL->related_markers as $var) {
ee()->TMPL->var_single[$var] = $var;
}
}
// --------------------------------------
// Include channel module
// --------------------------------------
if (!class_exists('channel')) {
require_once PATH_MOD . 'channel/mod.channel' . EXT;
}
// --------------------------------------
// Create new Channel instance
// --------------------------------------
$channel = new Channel();
// --------------------------------------
// Let the Channel module do all the heavy lifting
// --------------------------------------
return $channel->entries();
}
示例8: replace_entries
/**
* Replace Entries
*
* run a channel:entries loop from the fieldtype
*
* {your_field_name:entries disable="pagination"} {/your_field_name}
*
* @param $data
* @param array $params
* @param bool $tagdata
* @return string
*/
public function replace_entries($data, $params = array(), $tagdata = FALSE)
{
if (!$data || !$tagdata) {
return '';
}
require_once APPPATH . 'modules/channel/mod.channel.php';
$original_tagdata = $this->EE->TMPL->tagdata;
$original_tagparams = $this->EE->TMPL->tagparams;
$channels = $this->EE->channel_select_model->get_channels($data);
$channel_names = array();
foreach ($channels as $channel) {
$channel_names[] = $channel['channel_name'];
}
$this->EE->TMPL->tagdata = $tagdata;
$this->EE->TMPL->tagparams = $params;
$this->EE->TMPL->tagparams['channel'] = implode('|', $channel_names);
$this->EE->TMPL->tagparams['dynamic'] = 'no';
$channel = new Channel();
$output = $channel->entries();
$this->EE->TMPL->tagdata = $original_tagdata;
$this->EE->TMPL->tagparams = $original_tagparams;
return $output;
}
示例9: entries
function entries()
{
$parent_id = $this->EE->TMPL->fetch_param('parent_id', false);
$include_hidden = $this->EE->TMPL->fetch_param('include_hidden', 'n');
$cat = "";
$uricount = $this->EE->uri->total_segments();
//Lets iterate through all the segment uris for the trigger word
for ($x = 1; $x <= $uricount; $x++) {
if ($this->EE->uri->segment($x) == $this->cat_trigger) {
$cat = $this->EE->uri->segment($x + 1);
break;
}
}
if (is_numeric($parent_id)) {
$child_ids = $this->sql->get_child_entries($parent_id, $cat, $include_hidden);
$fixed_order = $child_ids !== FALSE && count($child_ids > 0) ? implode('|', $child_ids) : false;
if ($fixed_order) {
$this->EE->TMPL->tagparams['fixed_order'] = $fixed_order;
} else {
$this->EE->TMPL->tagparams['entry_id'] = '-1';
// No results
}
}
return parent::entries();
}
示例10: _channel_entries
/**
* Loads the Channel module and runs its entries() method
*
* @access private
* @return void
*/
private function _channel_entries()
{
// --------------------------------------
// Make sure the following params are set
// --------------------------------------
$set_params = array('dynamic' => 'no', 'paginate' => 'bottom');
foreach ($set_params as $key => $val) {
if (!ee()->TMPL->fetch_param($key)) {
$this->params->apply($key, $val);
}
}
// --------------------------------------
// Take care of related entries
// --------------------------------------
if (version_compare(APP_VER, '2.6.0', '<')) {
// We must do this, 'cause the template engine only does it for
// channel:entries or search:search_results. The bastard.
ee()->TMPL->tagdata = ee()->TMPL->assign_relationship_data(ee()->TMPL->tagdata);
// Add related markers to single vars to trigger replacement
foreach (ee()->TMPL->related_markers as $var) {
ee()->TMPL->var_single[$var] = $var;
}
}
// --------------------------------------
// Get channel module
// --------------------------------------
$this->_log('Calling the channel module');
if (!class_exists('channel')) {
require_once PATH_MOD . 'channel/mod.channel' . EXT;
}
// --------------------------------------
// Create new Channel instance
// --------------------------------------
$channel = new Channel();
// --------------------------------------
// Let the Channel module do all the heavy lifting
// --------------------------------------
return $channel->entries();
}
示例11: Category_entry_loop
public function Category_entry_loop()
{
parent::Channel();
$output = '';
$cat_url = $this->EE->TMPL->fetch_param('cat_url', '');
if (!empty($cat_url)) {
$sql = $this->EE->db->query("\n SELECT \n *\n FROM " . $this->EE->db->dbprefix('categories') . "\n WHERE \n cat_url_title = '" . $this->EE->db->escape_str($cat_url) . "'\n ");
$re = $sql->result_array();
$re = current($re);
if (isset($re['cat_id'])) {
$cat_id = $re['cat_id'];
$this->EE->TMPL->tagparams['category'] = $cat_id;
$this->EE->TMPL->tagparams['channel'] = $this->EE->TMPL->fetch_param('channel', '');
$this->EE->TMPL->tagparams['limit'] = $this->EE->TMPL->fetch_param('limit', '');
$this->EE->TMPL->tagparams['orderby'] = $this->EE->TMPL->fetch_param('orderby', '');
$this->EE->TMPL->tagparams['sort'] = $this->EE->TMPL->fetch_param('sort', '');
$this->EE->TMPL->tagparams['dynamic'] = $this->EE->TMPL->fetch_param('dynamic', '');
$this->EE->TMPL->tagparams['disable'] = $this->EE->TMPL->fetch_param('disable', '');
$this->EE->TMPL->tagparams['cache'] = $this->EE->TMPL->fetch_param('cache', '');
$this->EE->TMPL->tagparams['refresh'] = $this->EE->TMPL->fetch_param('refresh', '');
$this->EE->TMPL->tagparams['paginate'] = $this->EE->TMPL->fetch_param('paginate', '');
$this->return_data = parent::entries();
}
}
return $this->return_data;
}
示例12: favorites
public function favorites()
{
parent::Channel();
// fetch current logged in user
$current_user = $this->EE->session->userdata('member_id');
if (empty($current_user)) return $this->EE->TMPL->no_results();
// fetch all favorites by the user
$re = $this->EE->taechogroup_model->get_entry_ids_by_member_id($current_user);
if (empty($re)) return $this->EE->TMPL->no_results();
$entry_ids = array();
foreach ($re as $r)
{
$entry_ids[] = $r['entry_id'];
}
$this->EE->TMPL->tagparams['entry_id'] = implode('|', $entry_ids);
$this->return_data = parent::entries();
return $this->return_data;
}
示例13: assoc_entries
/**
* Return Channel Entries that a user has been selected in
*/
public function assoc_entries()
{
// Assist parsing of global variables as parameters
foreach (ee()->TMPL->tagparams as $key => $val) {
ee()->TMPL->tagparams[$key] = ee()->TMPL->parse_globals($val);
}
$prefix = ee()->TMPL->fetch_param('prefix', 'cm_');
$field = ee()->TMPL->fetch_param('field');
$col = ee()->TMPL->fetch_param('col');
$member_id = ee()->TMPL->fetch_param('member_id', '');
$display_entries = ee()->TMPL->fetch_param('display_entries', 'yes');
$field_data = $this->chosen_helper->convertFieldName($field, $col);
$entries = $this->chosen_helper->associatedChannelEntries($field_data['field_id'], $field_data['col_id'], explode('|', $member_id));
if (empty($entries)) {
return ee()->TMPL->no_results();
}
// Trick EE in to thinking this is a Channel Entries Loop
if ($display_entries == 'yes') {
$entry_id_param = !ee()->TMPL->fetch_param('orderby') ? 'fixed_order' : 'entry_id';
ee()->TMPL->tagparams[$entry_id_param] = '0|' . implode('|', $entries);
ee()->TMPL->tagparams['dynamic'] = 'no';
if (!isset(ee()->TMPL->tagparams['disable'])) {
ee()->TMPL->tagparams['disable'] = 'categories|category_fields|member_data|pagination';
}
$vars = ee()->functions->assign_variables(ee()->TMPL->tagdata);
ee()->TMPL->var_single = $vars['var_single'];
ee()->TMPL->var_pair = $vars['var_pair'];
if (method_exists(ee()->TMPL, '_fetch_site_ids')) {
ee()->TMPL->_fetch_site_ids();
}
if (!class_exists('Channel')) {
require PATH_MOD . 'channel/mod.channel.php';
}
$channel = new Channel();
return $channel->entries();
}
$results = array($prefix . 'entry_ids' => implode('|', array_unique($entries)));
if (empty(ee()->TMPL->tagdata)) {
return $results[$prefix . 'entry_ids'];
}
return ee()->TMPL->parse_variables_row(ee()->TMPL->tagdata, $results);
}