本文整理汇总了PHP中SMW\DataValueFactory::newDataValueByItem方法的典型用法代码示例。如果您正苦于以下问题:PHP DataValueFactory::newDataValueByItem方法的具体用法?PHP DataValueFactory::newDataValueByItem怎么用?PHP DataValueFactory::newDataValueByItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SMW\DataValueFactory
的用法示例。
在下文中一共展示了DataValueFactory::newDataValueByItem方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getTableContent
/**
* Renders table content for a given SMWSemanticData object
*
* @since 1.9
*
* @param SMWSemanticData $semanticData
*/
protected function getTableContent(SemanticData $semanticData)
{
// Do exclude some tags from processing otherwise the display
// can become distorted due to unresolved/open tags (see Bug 23185)
$excluded = array('table', 'tr', 'th', 'td', 'dl', 'dd', 'ul', 'li', 'ol', 'b', 'sub');
$attributes = array();
foreach ($semanticData->getProperties() as $propertyDi) {
$propertyDv = $this->dataValueFactory->newDataValueByItem($propertyDi, null);
if (!$propertyDi->isShown()) {
// showing this is not desired, hide
continue;
} elseif ($propertyDi->isUserDefined()) {
// User defined property (@note the preg_replace is a slight
// hack to ensure that the left column does not get too narrow)
$propertyDv->setCaption(preg_replace('/[ ]/u', ' ', $propertyDv->getWikiValue(), 2));
$attributes['property'] = array('class' => 'smwpropname');
$attributes['values'] = array('class' => 'smwprops');
} elseif ($propertyDv->isVisible()) {
// Predefined property
$attributes['property'] = array('class' => 'smwspecname');
$attributes['values'] = array('class' => 'smwspecs');
} else {
// predefined, internal property
// @codeCoverageIgnoreStart
continue;
// @codeCoverageIgnoreEnd
}
$valuesHtml = array();
foreach ($semanticData->getPropertyValues($propertyDi) as $dataItem) {
$dataValue = $this->dataValueFactory->newDataValueByItem($dataItem, $propertyDi);
$dataValue->setOutputFormat('LOCL');
$dataValue->disableServiceLinks();
if ($dataValue->isValid()) {
$valuesHtml[] = Sanitizer::removeHTMLtags($dataValue->getLongWikiText(true), null, array(), array(), $excluded) . $this->getInfolink($dataValue);
}
}
// Invoke table content
$this->htmlTableRenderer->addCell($propertyDv->getShortWikiText(true), $attributes['property']);
$this->htmlTableRenderer->addCell($this->messageBuilder->listToCommaSeparatedText($valuesHtml), $attributes['values']);
$this->htmlTableRenderer->addRow();
}
}
示例2: getLocatedInValue
/**
* @since 2.1
*
* @return DataValue
*/
public function getLocatedInValue()
{
$locatedInProperty = new LocatedInProperty();
return $this->dataValueFactory->newDataValueByItem(new DIWikiPage('France', NS_MAIN), $locatedInProperty->getProperty());
}
示例3: defineElementsForImportDataItem
private function defineElementsForImportDataItem(DataItem $dataItem)
{
$importValue = $this->dataValueFactory->newDataValueByItem($dataItem, new DIProperty('_IMPO'));
return array($importValue->getLocalName(), $importValue->getNS(), $importValue->getNSID());
}
示例4: getLocatedInValue
/**
* @since 2.1
*
* @return DataValue
*/
public function getLocatedInValue()
{
$locatedInProperty = new LocatedInProperty();
return $this->dataValueFactory->newDataValueByItem(DIWikiPage::newFromText('European Union', NS_MAIN), $locatedInProperty->getProperty(), 'EU');
}