本文整理汇总了PHP中FinderIndexer::index方法的典型用法代码示例。如果您正苦于以下问题:PHP FinderIndexer::index方法的具体用法?PHP FinderIndexer::index怎么用?PHP FinderIndexer::index使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FinderIndexer
的用法示例。
在下文中一共展示了FinderIndexer::index方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: index
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
$item->body = FinderIndexerHelper::prepareContent($item->getElement('body'));
$item->summary = FinderIndexerHelper::prepareContent($item->getElement('body'));
$item->addTaxonomy('Type', 'FSF_FINDER_GLOSSARY');
$word = $item->title;
$anchor = strtolower(preg_replace("/[^A-Za-z0-9]/", '-', $word));
$letter = strtolower(substr($word, 0, 1));
$item->url = 'index.php?option=com_fsf&view=glossary&letter=' . $letter . '#' . $anchor;
$item->route = $item->url;
$item->state = $item->published;
$item->access = 1;
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
if (FSFJ3Helper::IsJ3()) {
$this->indexer->index($item);
} else {
FinderIndexer::index($item);
}
}
示例2: _index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param object The item to index as an FinderIndexerResult object.
* @throws Exception on database error.
*/
protected function _index(FinderIndexerResult $item)
{
// Build the necessary route and path information.
$item->url = $this->_getURL($item->topic);
$item->itemid = '100065';
$item->route = $item->url . '&post=' . $item->id . '&Itemid=' . $item->itemid . '#p' . $item->id;
$item->path = FinderIndexerHelper::getContentPath($item->route);
// Add the meta-data processing instructions.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'display_name');
// Strip slashes!
$item->title = stripslashes($item->title);
$item->summary = stripslashes($item->summary);
$item->display_name = stripslashes($item->display_name);
$item->text = FinderIndexerHelper::prepareContent($item->summary);
// Translate the access group to an access level.
//$item->cat_access = $this->_getAccessLevel($item->cat_access);
// Inherit state and access form the category.
$item->state = 1;
$item->access = 0;
// Set the language.
$item->language = FinderIndexerHelper::getDefaultLanguage();
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'Forum Post');
// Add the author taxonomy data.
if (!empty($item->author)) {
$item->addTaxonomy('Forum User', $item->display_name);
}
// Index the item.
FinderIndexer::index($item);
}
示例3: index
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
$item->body = FinderIndexerHelper::prepareContent($item->getElement('body'));
$item->summary = FinderIndexerHelper::prepareContent($item->getElement('body'));
$item->addTaxonomy('Type', 'FSS_FINDER_KB_ARTICLE');
$item->url = 'index.php?option=com_fss&view=kb&kbartid=' . $item->getElement('id');
$item->route = $item->url;
$item->state = $item->getElement('pub');
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
if (FSSJ3Helper::IsJ3()) {
$this->indexer->index($item);
} else {
FinderIndexer::index($item);
}
}
示例4: index
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false || !$item->id) {
return;
}
if (!($zoo_item = $this->app->table->item->get($item->id, true))) {
return;
}
$registry = new JRegistry();
$registry->loadArray($zoo_item->getParams()->get("metadata."));
$item->metadata = $registry;
$item->metaauthor = $zoo_item->getParams()->get("metadata.author");
$item->addInstruction(FinderIndexer::META_CONTEXT, 'link');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'author');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'element_data');
$item->summary = $this->renderer->render('item.default', array('item' => $zoo_item));
$item->url = $this->getURL($item->id, $this->extension, $this->layout);
$item->route = $this->app->route->item($zoo_item, false);
$item->path = FinderIndexerHelper::getContentPath($item->route);
$item->state = $zoo_item->searchable == 1 && $zoo_item->state == 1;
$item->element_data = $this->app->database->queryResultArray('SELECT value FROM ' . ZOO_TABLE_SEARCH . ' WHERE item_id = ' . (int) $item->id);
$item->addTaxonomy('Type', $zoo_item->getType()->name);
foreach ($zoo_item->getRelatedCategories(true) as $category) {
$item->addTaxonomy('Category', $category->name);
}
foreach ($zoo_item->getTags() as $tag) {
$item->addTaxonomy('Tag', $tag);
}
FinderIndexerHelper::getContentExtras($item);
if ($this->app->joomla->version->isCompatible('3.0')) {
$this->indexer->index($item);
} else {
FinderIndexer::index($item);
}
}
示例5: index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param FinderIndexerResult $item The item to index as an FinderIndexerResult object.
* @param string $format The item format
*
* @return void
*
* @throws Exception on database error.
*/
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false)
{
return;
}
if ($this->jVer == 3) {
$item->setLanguage();
}
// Initialize the item parameters.
$registry = new JRegistry;
$registry->loadString($item->params);
$item->params = JComponentHelper::getParams('com_jem', true);
$item->params->merge($registry);
$registry = new JRegistry;
$registry->loadString($item->metadata);
$item->metadata = $registry;
// Trigger the onContentPrepare event.
$item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params);
$item->body = FinderIndexerHelper::prepareContent($item->fulltext, $item->params);
// Build the necessary route and path information.
$item->url = $this->getURL($item->id, $this->extension, $this->layout);
$item->route = JEMHelperRoute::getEventRoute($item->slug, $item->catslug);
$item->path = FinderIndexerHelper::getContentPath($item->route);
// Get the menu title if it exists.
$title = $this->getItemMenuTitle($item->url);
// Adjust the title if necessary.
if (!empty($title) && $this->params->get('use_menu_title', true))
{
$item->title = $title;
}
// Add the meta-author.
$item->metaauthor = $item->metadata->get('author');
// Add the meta-data processing instructions.
// TODO:
// $item->addInstruction(FinderIndexer::META_CONTEXT, 'meta_description');
// Translate the state. Articles should only be published if the category is published.
$item->state = $this->translateState($item->state, $item->cat_state);
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'Event');
// Add the author taxonomy data.
if (!empty($item->author) || !empty($item->created_by_alias))
{
$item->addTaxonomy('Author', !empty($item->created_by_alias) ? $item->created_by_alias : $item->author);
}
// Add the category taxonomy data.
$item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access);
// Add the language taxonomy data.
$item->addTaxonomy('Language', $item->language);
// Add the venue taxonomy data.
if(!empty($item->venue)) {
$item->addTaxonomy('Venue', $item->venue, $item->loc_published);
}
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
// On J! 3.x we must use indexer member which doesn't exist on J! 2.5
if ($this->jVer == 3) {
$this->indexer->index($item);
} else {
FinderIndexer::index($item);
}
}
示例6: index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param FinderIndexerResult $item The item to index as an FinderIndexerResult object.
* @param string $format The item format
*
* @return void
*
* @since 2.5
* @throws Exception on database error.
*/
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
$access = 1;
if (is_null($item->privacy)) {
$privacy = FD::privacy($item->user_id);
$privacyValue = $privacy->getValue('photos', 'view');
$item->privacy = $privacyValue;
}
if ($item->privacy == SOCIAL_PRIVACY_PUBLIC) {
$access = 1;
} else {
if ($item->privacy == SOCIAL_PRIVACY_MEMBER) {
$access = 2;
} else {
// this is not public / member items. do not index this item
return;
}
}
// $sql->select('a.id, a.title, a.alias, a.introtext AS summary, a.fulltext AS body');
// $sql->select('a.state, a.catid, a.created AS start_date, a.created_by');
// $sql->select('a.created_by_alias, a.modified, a.modified_by, a.attribs AS params');
// $sql->select('a.metakey, a.metadesc, a.metadata, a.language, a.access, a.version, a.ordering');
// $sql->select('a.publish_up AS publish_start_date, a.publish_down AS publish_end_date');
// $sql->select('c.title AS category, c.published AS cat_state, c.access AS cat_access');
// album onwer
$user = FD::user($item->user_id);
$userAlias = $user->getAlias(false);
$photo = FD::table('Photo');
$photo->load($item->id);
// Build the necessary route and path information.
// index.php?option=com_easysocial&view=photos&layout=item&id=510:00000690&type=user&uid=84:jenny-siew
$item->url = 'index.php?option=com_easysocial&view=photos&layout=item&id=' . $photo->getAlias() . '&type=' . $photo->type . '&uid=' . $userAlias;
$item->route = $photo->getPermalink();
$item->route = $this->removeAdminSegment($item->route);
$item->path = FinderIndexerHelper::getContentPath($item->route);
$category = 'user photo';
if ($item->type == SOCIAL_TYPE_GROUP) {
$category = 'group photo';
}
$item->access = $access;
$item->alias = $photo->getAlias();
$item->state = 1;
$item->catid = $photo->type == SOCIAL_TYPE_GROUP ? 2 : 1;
$item->start_date = $photo->created;
$item->created_by = $photo->user_id;
$item->created_by_alias = $userAlias;
$item->modified = $photo->assigned_date == '0000-00-00 00:00:00' ? $photo->created : $photo->assigned_date;
$item->modified_by = $photo->user_id;
$item->params = '';
$item->metakey = $category . ' ' . $photo->title;
$item->metadesc = $category . ' ' . $photo->title;
$item->metadata = '';
$item->publish_start_date = $item->modified;
$item->category = $category;
$item->cat_state = 1;
$item->cat_access = 0;
$item->summary = $photo->title;
$item->body = $photo->title;
// Add the meta-author.
$item->metaauthor = $userAlias;
$item->author = $userAlias;
// add image param
$registry = FD::registry();
$registry->set('image', $photo->getSource());
$item->params = $registry;
// Add the meta-data processing instructions.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'author');
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'EasySocial.Photos');
// Add the author taxonomy data.
$item->addTaxonomy('Author', $userAlias);
// Add the category taxonomy data.
$item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access);
// Add the language taxonomy data.
$langParams = JComponentHelper::getParams('com_languages');
$item->language = $langParams->get('site', 'en-GB');
$item->addTaxonomy('Language', $item->language);
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
if (FD::isJoomla30()) {
$this->indexer->index($item);
//.........这里部分代码省略.........
示例7: index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param FinderIndexerResult $item The item to index as an FinderIndexerResult object.
*
* @return void
*
* @throws Exception on database error.
*/
protected function index(FinderIndexerResult $item)
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
// Add the meta-data processing instructions.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'author');
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'Forum Post');
// Add the author taxonomy data.
if (!empty($item->author)) {
$item->addTaxonomy('Author', $item->author);
}
// Add the category taxonomy data.
// $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access);
// Add the language taxonomy data.
$item->addTaxonomy('Language', $item->language);
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
FinderIndexer::index($item);
}
示例8: index
/**
* Main index function run when indexing happens
*
* @param FinderIndexerResult $item
* @return bool|void
*/
protected function index(FinderIndexerResult $item)
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
//Add the instructions
foreach ($this->instructions as $type => $instructions) {
foreach ($instructions as $instruction) {
$item->addInstruction($type, $instruction);
}
}
// Add the type taxonomy data.
$item->addTaxonomy('Type', $this->type_title);
FinderIndexerHelper::getContentExtras($item);
// Index the item.
if (method_exists('FinderIndexer', 'getInstance')) {
FinderIndexer::getInstance()->index($item);
} else {
FinderIndexer::index($item);
}
}
示例9: index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param FinderIndexerResult $item The item to index as an FinderIndexerResult object.
* @param string $format The item format
*
* @return void
*
* @since 2.5
* @throws Exception on database error.
*/
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
// Need to import component route helpers dynamically, hence the reason it's handled here
if (JFile::exists(JPATH_SITE . '/components/' . $item->extension . '/helpers/route.php')) {
include_once JPATH_SITE . '/components/' . $item->extension . '/helpers/route.php';
}
$extension = ucfirst(substr($item->extension, 4));
// Initialize the item parameters.
$registry = new JRegistry();
$registry->loadString($item->params);
$item->params = $registry;
$registry = new JRegistry();
$registry->loadString($item->metadata);
$item->metadata = $registry;
/* Add the meta-data processing instructions based on the categories
* configuration parameters.
*/
// Add the meta-author.
$item->metaauthor = $item->metadata->get('author');
// Handle the link to the meta-data.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'link');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'author');
//$item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias');
// Trigger the onContentPrepare event.
$item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params);
// Build the necessary route and path information.
$item->url = $this->getURL($item->id, $item->extension, $this->layout);
$class = $extension . 'HelperRoute';
if (class_exists($class) && method_exists($class, 'getCategoryRoute')) {
$item->route = $class::getCategoryRoute($item->id);
} else {
$item->route = ContentHelperRoute::getCategoryRoute($item->slug, $item->catid);
}
$item->path = FinderIndexerHelper::getContentPath($item->route);
// Get the menu title if it exists.
$title = $this->getItemMenuTitle($item->url);
// Adjust the title if necessary.
if (!empty($title) && $this->params->get('use_menu_title', true)) {
$item->title = $title;
}
// Translate the state. Categories should only be published if the parent category is published.
$item->state = $this->translateState($item->state);
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'Category');
// Add the language taxonomy data.
$item->addTaxonomy('Language', $item->language);
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
FinderIndexer::index($item);
}
示例10: index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param FinderIndexerResult $item The item to index as an FinderIndexerResult object.
* @param string $format The item format
*
* @return void
*
* @since 2.5
* @throws Exception on database error.
*/
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
// Initialize the item parameters.
$registry = new JRegistry();
$registry->loadString($item->params);
$item->params = JComponentHelper::getParams('com_jshopping', true);
$item->params->merge($registry);
// Trigger the onContentPrepare event.
$item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params);
$item->body = FinderIndexerHelper::prepareContent($item->body, $item->params);
// Build the necessary route and path information.
$item->url = 'index.php?option=com_jshopping&controller=product&task=view&category_id=' . $item->category_id . '&product_id=' . $item->product_id;
$item->route = 'index.php?option=com_jshopping&controller=product&task=view&category_id=' . $item->category_id . '&product_id=' . $item->product_id;
$item->path = FinderIndexerHelper::getContentPath($item->route);
// Get the menu title if it exists.
$title = $this->getItemMenuTitle($item->url);
// Adjust the title if necessary.
if (!empty($title) && $this->params->get('use_menu_title', true)) {
$item->title = $title;
}
// Add the meta-author.
// Add the meta-data processing instructions.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'link');
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'Product');
// Add the category taxonomy data.
$item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access);
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
if (version_compare(JVERSION, '3.0.0', 'ge')) {
$this->indexer->index($item);
} else {
FinderIndexer::index($item);
}
}
示例11: index
/**
* Indexes a post on the site
*
* @since 5.0
* @access public
* @param FinderIndexerResult The item to index
* @param string The item's format
* @return void
*/
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (!$this->exists()) {
return;
}
// Build the necessary route and path information.
$item->url = 'index.php?option=com_easyblog&view=entry&id=' . $item->id;
$item->route = EBR::getRoutedURL($item->url, false, true);
// Remove any /administrator/ segments from the url since the indexer could be executed from the back end
$item->route = $this->removeAdminSegment($item->route);
// Get the content path
$item->path = FinderIndexerHelper::getContentPath($item->route);
// If there is access defined, just set it to 2 which is special privileges.
if (!$item->access || $item->access == 0) {
$item->access = 1;
} else {
if ($item->access > 0) {
$item->access = 2;
}
}
// Load up the post item
$post = EB::post();
$post->load($item->id);
// Get the intro text of the content
$item->summary = $post->getIntro();
// Get the contents
$item->body = $post->getContent('entry', false);
// If the post is password protected, we do not want to display the contents
if ($post->isPasswordProtected()) {
$item->summary = JText::_('PLG_FINDER_EASYBLOG_PASSWORD_PROTECTED');
} else {
// we want to get custom fields values.
$fields = $post->getCustomFields();
$fieldlib = EB::fields();
$customfields = array();
if ($fields) {
foreach ($fields as $field) {
if ($field->group->hasValues($post)) {
foreach ($field->fields as $customField) {
$eachField = $fieldlib->get($customField->type);
$customfields[] = $eachField->text($customField, $post);
}
}
}
$customfieldvalues = implode(' ', $customfields);
$item->body = $item->body . ' ' . $customfieldvalues;
}
}
// Add the author's meta data
$item->metaauthor = !empty($item->created_by_alias) ? $item->created_by_alias : $item->author;
$item->author = !empty($item->created_by_alias) ? $item->created_by_alias : $item->author;
// If the post has an image, use it
$image = $post->getImage('thumbnail', false, true);
// If there's no image, try to scan the contents for an image to be used
if (!$image && $post->isLegacy()) {
$image = EB::string()->getImage($item->body);
}
// If we still can't locate any images, use the placeholder image
if (!$image) {
$image = EB::getPlaceholderImage();
}
$registry = new JRegistry();
$registry->set('image', $image);
$item->params = $registry;
// Add the meta-data processing instructions.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'author');
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'EasyBlog');
// Add the author taxonomy data.
if (!empty($item->author) || !empty($item->created_by_alias)) {
$item->addTaxonomy('Author', !empty($item->created_by_alias) ? $item->created_by_alias : $item->author);
}
// Add the category taxonomy data.
$item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access);
// Add the language taxonomy data.
if (empty($item->language)) {
$item->language = '*';
}
$item->addTaxonomy('Language', $item->language);
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// For Joomla 3.0, the indexer is assigned to the property
// Index the item.
if (EB::isJoomla30()) {
return $this->indexer->index($item);
}
return FinderIndexer::index($item);
//.........这里部分代码省略.........
示例12: index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param FinderIndexerResult $item The item to index as an FinderIndexerResult object.
* @param string $format The item format
*
* @return void
*
* @since 2.5
* @throws Exception on database error.
*/
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
// Initialize the item parameters.
$registry = new JRegistry();
$registry->loadString($item->params);
$item->params = JComponentHelper::getParams('com_jevents', true);
$item->params->merge($registry);
$registry = new JRegistry();
$registry->loadString($item->metadata);
$item->metadata = $registry;
// Trigger the onContentPrepare event.
$item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params);
$item->body = FinderIndexerHelper::prepareContent($item->body, $item->params);
// Build the necessary route and path information.
$itemid = $this->params->get("target_itemid", 0);
$item->url = "index.php?option=com_jevents&task=icalevent.detail&evid=" . $item->eventid . "&Itemid=" . $itemid;
//$this->getURL($item->id, $this->extension, $this->layout);
$item->route = "index.php?option=com_jevents&task=icalevent.detail&evid=" . $item->eventid . "&Itemid=" . $itemid;
$item->path = FinderIndexerHelper::getContentPath($item->route);
// title is already set
//$item->title;
// Events should only be published if the category is published.etc. - do this later
//$item->state;
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'Event');
// Add the creator taxonomy data.
if (!empty($item->creator) || !empty($item->created_by_alias)) {
$item->addTaxonomy('Creator', !empty($item->created_by_alias) ? $item->created_by_alias : $item->creator);
}
// Add the category taxonomy data. - can we do multiple categories?
$item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access);
// Add the language taxonomy data.
//$item->addTaxonomy('Language', $item->language);
// Get jevents extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
if (JevJoomlaVersion::isCompatible("3.0.0")) {
$this->indexer->index($item);
} else {
FinderIndexer::index($item);
}
}
示例13: index
/**
* Method to index an item. The item must be a FinderIndexerResult object.
*
* @param FinderIndexerResult $item The item to index as an FinderIndexerResult object.
* @param string $format The item format
*
* @return void
*
* @since 2.5
* @throws Exception on database error.
*/
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
$access = 1;
if (is_null($item->privacy)) {
$privacy = FD::privacy($item->user_id);
$privacyValue = $privacy->getValue('albums', 'view');
$item->privacy = $privacyValue;
}
if ($item->privacy == SOCIAL_PRIVACY_PUBLIC) {
$access = 1;
} else {
if ($item->privacy == SOCIAL_PRIVACY_MEMBER) {
$access = 2;
} else {
// this is not public / member items. do not index this item
return;
}
}
// $sql->select('a.id, a.title, a.alias, a.introtext AS summary, a.fulltext AS body');
// $sql->select('a.state, a.catid, a.created AS start_date, a.created_by');
// $sql->select('a.created_by_alias, a.modified, a.modified_by, a.attribs AS params');
// $sql->select('a.metakey, a.metadesc, a.metadata, a.language, a.access, a.version, a.ordering');
// $sql->select('a.publish_up AS publish_start_date, a.publish_down AS publish_end_date');
// $sql->select('c.title AS category, c.published AS cat_state, c.access AS cat_access');
// album onwer
$user = FD::user($item->user_id);
$userAlias = $user->getAlias(false);
$album = FD::table('Album');
$album->load($item->id);
$albumAlias = $album->getAlias();
// Build the necessary route and path information.
// we need to pass in raw url so that smart search will not create another duplicate item.
// index.php?option=com_easysocial&view=albums&id=171:collection&layout=item&uid=84:jenny-siew&type=user
$item->url = 'index.php?option=com_easysocial&view=albums&id=' . $albumAlias . '&layout=item&uid=' . $userAlias . '&type=' . $album->type;
$item->route = $album->getPermalink();
$item->route = $this->removeAdminSegment($item->route);
$item->path = FinderIndexerHelper::getContentPath($item->route);
$category = '';
if ($album->core == SOCIAL_ALBUM_PROFILE_PHOTOS) {
$category = 'avatar album';
} else {
if ($album->core == SOCIAL_ALBUM_PROFILE_COVERS) {
$category = 'cover album';
} else {
if ($album->core == SOCIAL_ALBUM_STORY_ALBUM) {
$category = 'story album';
} else {
$category = 'user album';
}
}
}
$item->access = $access;
$item->alias = $albumAlias;
$item->state = 1;
$item->catid = $album->core;
$item->start_date = $album->created;
$item->created_by = $album->user_id;
$item->created_by_alias = $userAlias;
$item->modified = $album->assigned_date;
$item->modified_by = $album->user_id;
$item->params = '';
$item->metakey = $category . ' ' . $album->title;
$item->metadesc = $album->title . ' ' . $album->caption;
$item->metadata = '';
$item->publish_start_date = $album->assigned_date;
$item->category = $category;
$item->cat_state = 1;
$item->cat_access = 0;
$item->summary = empty($album->caption) ? $album->title : $album->caption;
$item->body = $album->title . ' ' . $album->caption;
// Add the meta-author.
$item->metaauthor = $userAlias;
$item->author = $userAlias;
// add image param
$registry = FD::registry();
$registry->set('image', $album->getCover());
$item->params = $registry;
// Add the meta-data processing instructions.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'author');
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'EasySocial.Albums');
// Add the author taxonomy data.
//.........这里部分代码省略.........
示例14: index
protected function index(FinderIndexerResult $item, $format = 'html')
{
// Check if the extension is enabled
if (JComponentHelper::isEnabled($this->extension) == false) {
return;
}
// Initialize the item parameters.
$registry = new JRegistry();
$registry->loadString($item->params);
$item->params = JComponentHelper::getParams('com_k2', true);
$item->params->merge($registry);
$registry = new JRegistry();
$registry->loadString($item->metadata);
$item->metadata = $registry;
// Trigger the onContentPrepare event.
$item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params);
$item->body = FinderIndexerHelper::prepareContent($item->body, $item->params);
// Build the necessary route and path information.
$item->url = $this->getURL($item->id, $this->extension, $this->layout);
$item->route = K2HelperRoute::getItemRoute($item->slug, $item->catslug);
$item->path = FinderIndexerHelper::getContentPath($item->route);
// Get the menu title if it exists.
$title = $this->getItemMenuTitle($item->url);
// Adjust the title if necessary.
if (!empty($title) && $this->params->get('use_menu_title', true)) {
$item->title = $title;
}
// Add the meta-author.
$item->metaauthor = $item->metadata->get('author');
// Add the meta-data processing instructions.
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'author');
$item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias');
// Translate the state. Articles should only be published if the category is published.
$item->state = $this->translateState($item->state, $item->cat_state);
// Translate the trash state. Articles should only be accesible if the category is accessible.
if ($item->trash || $item->cat_trash) {
$item->state = 0;
}
// Add the type taxonomy data.
$item->addTaxonomy('Type', 'K2 Item');
// Add the author taxonomy data.
if (!empty($item->author) || !empty($item->created_by_alias)) {
$item->addTaxonomy('Author', !empty($item->created_by_alias) ? $item->created_by_alias : $item->author);
}
// Add the category taxonomy data.
$item->addTaxonomy('K2 Category', $item->category, $item->cat_state, $item->cat_access);
// Add the language taxonomy data.
$item->addTaxonomy('Language', $item->language);
// Get content extras.
FinderIndexerHelper::getContentExtras($item);
// Index the item.
FinderIndexer::index($item);
}
示例15: indexMusicItem
private function indexMusicItem(FinderIndexerResult $item, $baseUrl, MusicItem $musicItem)
{
$this->addProperties($item, $baseUrl, $musicItem);
$this->addTaxonomyArtist($item, $musicItem);
$this->addTaxonomyCoverArt($item, $musicItem);
FinderIndexer::index($item);
}