本文整理汇总了PHP中eZContentObject::allLanguages方法的典型用法代码示例。如果您正苦于以下问题:PHP eZContentObject::allLanguages方法的具体用法?PHP eZContentObject::allLanguages怎么用?PHP eZContentObject::allLanguages使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZContentObject
的用法示例。
在下文中一共展示了eZContentObject::allLanguages方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fromContentObject
/**
* Initializes a content fieldset holder from eZContentObject
* @param eZContentObject $object
* @return SQLIContentFieldsetHolder
*/
public static function fromContentObject(eZContentObject $object)
{
eZDebug::accumulatorStart('fieldset_holder_create', 'sqlicontent');
$setHolder = new self();
$languages = $object->allLanguages();
$setHolder->contentObject = $object;
foreach ($languages as $lang) {
$locale = $lang->attribute('locale');
$set = SQLIContentFieldset::fromDataMap($object->fetchDataMap(false, $locale));
$set->setLanguage($locale);
$setHolder->fieldsets[$locale] = $set;
}
// Set default language
$setHolder->setActiveLanguage(eZContentObject::defaultLanguage());
// Init internal iterator
$setHolder->initIterator();
eZDebug::accumulatorStop('fieldset_holder_create');
return $setHolder;
}
示例2: modify
/**
* The modify method gets the current content object AND the list of
* Solr Docs (for each available language version).
*
* @param eZContentObject $contentObject
* @param eZSolrDoc[] $docList
*/
public function modify( eZContentObject $contentObject, &$docList )
{
/* @var eZContentObjectTreeNode $contentMainNode */
$contentMainNode = $contentObject->mainNode();
$contentObjectLanguages = $contentObject->allLanguages();
$articleLanguageArray = array_keys($contentObjectLanguages);
$publisherFolderNodeId = PublisherFolderTool::getPublisherNodeIdFromArticleNode($contentMainNode);
$isMerckManualShowcase = false;
// Depth : 0 => father article, 1+ => child article
$articleRelativeDepth = $contentMainNode->attribute('depth') - 4;
if ( is_null($publisherFolderNodeId) )
return;
$publisherFolderInfos = PublisherFolderTool::getPublisherFolderInfosFromNodeId($publisherFolderNodeId);
if ( !$publisherFolderInfos )
return;
$publisherFolderRelations = PublisherFolderTool::getPublisherFolderRelations($publisherFolderInfos['path']);
if ( !$publisherFolderRelations || count($publisherFolderRelations['clusters']) === 0 )
return;
// node remote
$remote = $contentMainNode->attribute("remote_id");
$this->addValueToDoc( $docList, 'attr_node_remote_s', $remote);
$this->addValueToDoc( $docList, 'attr_relative_depth_i', $articleRelativeDepth);
foreach ( $publisherFolderRelations['clusters'] as $cluster => $applications )
{
ClusterTool::setCurrentCluster( $cluster );
$applicationIdentifier = $applications[0];
/* @var $applicationLocalized ApplicationLocalized */
$applicationLocalized = CacheApplicationTool::buildLocalizedApplicationByIdentifier( $applicationIdentifier );
if ( !($applicationLocalized instanceof ApplicationLocalized) )
{
if (count($applications) == 1)
{
unset($publisherFolderRelations['clusters'][$cluster]);
continue;
}
$applicationIdentifier = $applications[1];
$applicationLocalized = CacheApplicationTool::buildLocalizedApplicationByIdentifier( $applicationIdentifier );
if ( !($applicationLocalized instanceof ApplicationLocalized) )
{
unset($publisherFolderRelations['clusters'][$cluster]);
continue;
}
$publisherFolderRelations['clusters'][$cluster] = array ($applicationIdentifier);
}
// visibility per cluster
$isVisible = ObjectVisibilityManager::isVisible($contentMainNode->attribute('contentobject_id'), $cluster);
$this->addValueToDoc( $docList, 'attr_is_invisible_' . $cluster . '_b', !$isVisible );
if (!isset(self::$_applicationIdentifierToId[$applicationIdentifier]))
self::$_applicationIdentifierToId[$applicationIdentifier] = $applicationLocalized->applicationObject()->attribute ('id');
$publisherFolder = $applicationLocalized->getPublisherFolderFromPath($publisherFolderInfos['path']);
$publisherLanguages = $publisherFolder->getLanguages();
$publisherAndArticleLanguages = array_intersect($publisherLanguages, $articleLanguageArray);
if ( count($publisherAndArticleLanguages) == 0 )
continue;
$primaryLanguage = reset($publisherAndArticleLanguages);
$contentMainNode->setCurrentLanguage($primaryLanguage);
// publisher folder languages
$languageKey = 'subattr_language_' . $cluster . '____s';
$formatedLanguages = array_map(
array('kezfSolrArticleIndex', 'languageCode') ,
$publisherAndArticleLanguages
);
$indexLanguages = array_unique( $formatedLanguages );
$this->addValueToDoc( $docList, $languageKey, $indexLanguages, true, false );
// Meck manual sections
if( $applicationIdentifier == MerckManualShowcase::mainApplicationIdentifier() )
$isMerckManualShowcase = true;
// url computation
/* @var eZContentObjectAttribute[] $dataMap */
//.........这里部分代码省略.........