本文整理汇总了PHP中Node::getPreviewXML方法的典型用法代码示例。如果您正苦于以下问题:PHP Node::getPreviewXML方法的具体用法?PHP Node::getPreviewXML怎么用?PHP Node::getPreviewXML使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Node
的用法示例。
在下文中一共展示了Node::getPreviewXML方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPreviewXML
/**
* Добавляет в предварительный просмотр количество отмеченных документов.
*/
public function getPreviewXML(Context $ctx)
{
$result = parent::getPreviewXML($ctx);
$count = $ctx->db->fetch("SELECT COUNT(*) FROM node WHERE deleted = 0 AND id IN " . "(SELECT nid FROM node__rel WHERE tid = ?) AND class IN " . "(SELECT name FROM node WHERE class = 'type' AND deleted = 0 AND published = 1)", array($this->id));
if ($count) {
$message = t('%count (<a href="@url">список</a>)', array('%count' => $count, '@url' => 'admin/content/list?search=tags%3A' . $this->id));
$result .= html::em('field', array('title' => t('Отмечено документов')), html::em('value', html::cdata($message)));
}
return $result;
}
示例2: getPreviewXML
public function getPreviewXML(Context $ctx)
{
$xml = parent::getPreviewXML($ctx);
$data = $ctx->db->getResultsKV("option", "count", "SELECT `option`, COUNT(*) AS `count` FROM `node__poll` WHERE `nid` = ? GROUP BY `option`", array($this->id));
$result = '';
foreach (self::split($this->answers) as $k => $v) {
$count = isset($data[$k]) ? $data[$k] : 0;
$result .= html::em('li', $v . ': ' . $count);
}
if (!empty($result)) {
$value = html::em('value', html::cdata(html::em('ul', $result)));
$xml .= html::em('field', array('title' => t('Результаты'), 'editurl' => "admin/edit/{$this->id}/answers?destination=" . urlencode(MCMS_REQUEST_URI)), $value);
}
return $xml;
}
示例3: getPreviewXML
/**
* Формирует таблицу для предварительного просмотра.
*/
public function getPreviewXML(Context $ctx)
{
$xml = parent::getPreviewXML($ctx);
if (is_array($this->orderdetails)) {
$params = array();
$names = $this->getDB()->getResultsKV("id", "name", "SELECT `id`, `name` FROM `node` WHERE `id` " . sql::in(array_keys($this->orderdetails), $params), $params);
$table = '';
foreach ($this->orderdetails as $k => $v) {
$name = isset($names[$k]) ? $names[$k] : '???';
$row = html::em('td', html::em('a', array('href' => "admin/node/{$k}?destination=CURRENT"), html::plain($name)));
$row .= html::em('td', html::cdata('× ' . $v));
$table .= html::em('tr', $row);
}
if ($value = html::wrap('table', $table, array('class' => 'classic'))) {
$xml .= html::em('field', array('title' => t('Содержимое заказа')), html::em('value', array('html' => true), html::cdata($value)));
}
}
return $xml;
}
示例4: getPreviewXML
public function getPreviewXML(Context $ctx)
{
$result = parent::getPreviewXML($ctx);
if (!$this->published) {
$message = t('Документы этого (скрытого) типа не отображаются в обычном <a href="@url1">списке документов</a>, их не предлагают в стандартной <a href="@url2">форме создания документа</a>.', array('@url1' => 'admin/content/list', '@url2' => 'admin/create'));
$result .= html::em('field', array('title' => t('Комментарий')), html::em('value', html::cdata($message)));
}
$count = Node::count(array('class' => $this->name, 'deleted' => 0), $ctx->db);
if ($count) {
$message = t('%count документов (<a href="@url">список</a>)', array('%count' => $count, '@url' => Node::create($this->name)->getListURL()));
$result .= html::em('field', array('title' => t('Статистика')), html::em('value', html::cdata($message)));
}
return $result;
}
示例5: getPreviewXML
/**
* Возвращает дополнительные поля для предварительного просмотра.
*/
public function getPreviewXML(Context $ctx)
{
$result = parent::getPreviewXML($ctx);
if ($this->width and $this->height) {
$tmp = $this->width . '×' . $this->height;
if ($this->filesize) {
$tmp .= ', ' . mcms::filesize($this->filesize);
}
$result .= html::em('field', array('title' => t('Исходные размеры')), html::em('value', html::cdata($tmp)));
}
if ($this->duration) {
$result .= html::em('field', array('title' => t('Продолжительность')), html::em('value', html::cdata($this->duration)));
}
if ($this->bitrate) {
$result .= html::em('field', array('title' => t('Битрейт')), html::em('value', html::cdata(ceil($this->bitrate))));
}
if ($this->channels) {
switch ($this->channels) {
case 1:
$tmp = t('моно');
break;
case 2:
$tmp = t('стерео');
break;
case 4:
$tmp = t('квадро');
break;
default:
$tmp = t('%count каналов', array('%count' => $this->channels));
}
$result .= html::em('field', array('title' => t('Звук')), html::em('value', array('channels' => $this->channels), html::cdata($tmp)));
}
if ($tmp = $this->getEmbedHTML($ctx)) {
$result .= html::em('field', array('title' => t('Оригинал')), html::em('value', array('class' => 'embed'), html::cdata($tmp)));
}
if (!empty($this->versions)) {
foreach ((array) $this->versions as $name => $info) {
$em = array('title' => t('Версия %name', array('%name' => $name)));
$url = os::webpath($ctx->config->getPath('modules/files/storage'), $info['filename']);
$tmp = t('<a href="@url"><img src="@url" width="%width" height="%height" alt="%filename" /></a>', array('%name' => $name, '%width' => $info['width'], '%height' => $info['height'], '%filename' => basename($info['filename']), '@url' => $url));
$tmp .= t('<br/>%width×%height', array('%width' => $info['width'], '%height' => $info['height']));
$em['#text'] = html::em('value', html::cdata($tmp));
$result .= html::em('field', $em);
}
}
$count = Node::count(array('deleted' => 0, 'tagged' => $this->id), $ctx->db);
if ($count) {
$message = t('%count документов используют этот файл (<a href="@url">список</a>)', array('%count' => $count, '@url' => 'admin/content/list?search=tagged%3A' . $this->id));
$result .= html::em('field', array('title' => t('Статистика')), html::em('value', html::cdata($message)));
}
return $result;
}
示例6: getPreviewXML
/**
* Дополнительная информация для просмотра пользователя,
* пока выводит только список групп.
*/
public function getPreviewXML(Context $ctx)
{
return parent::getPreviewXML($ctx);
}