Return an array of ArticleTypeField objects.
public getUserDefinedColumns ( $p_showAll = false, $p_skipCache = false ) : array | ||
Результат | array |
public function serializeToJson(JsonSerializationVisitor $visitor, $data, $type) { $articleData = new \ArticleData($data->type, $data->number, $data->languageId); if (count($articleData->getUserDefinedColumns()) == 0) { return null; } $fields = array(); foreach ($articleData->getUserDefinedColumns() as $column) { $fields[$column->getPrintName()] = $articleData->getFieldValue($column->getPrintName()); } $fields['show_on_front_page'] = $data->onFrontPage == "Y" ? 1 : 0; $fields['show_on_section_page'] = $data->onSection == "Y" ? 1 : 0; return $fields; }
public function serialize(VisitorInterface $visitor, $data, $type, &$visited) { if ($type != 'Newscoop\\Entity\\Article') { return; } $GLOBALS['g_campsiteDir'] = realpath(__DIR__ . '/../../../../../../newscoop/'); $articleData = new \ArticleData($data->getType(), $data->getNumber(), $data->getLanguageId()); if (count($articleData->getUserDefinedColumns()) == 0) { $data->setFields(null); return; } $fields = array(); foreach ($articleData->getUserDefinedColumns() as $column) { $fields[$column->getPrintName()] = $articleData->getFieldValue($column->getPrintName()); } $data->setFields($fields); }
/** * Creates the list of objects. Sets the parameter $p_hasNextElements to * true if this list is limited and elements still exist in the original * list (from which this was truncated) after the last element of this * list. * * @param int $p_start * @param int $p_limit * @param array $p_parameters * @param int &$p_count * @return array */ protected function CreateList($p_start = 0, $p_limit = 0, array $p_parameters, &$p_count) { $context = CampTemplate::singleton()->context(); if (!$context->article->defined) { return array(); } $articleData = new ArticleData($context->article->type_name, $context->article->number, $context->language->number); $customFields = $articleData->getUserDefinedColumns(); $fieldValue = null; foreach ($customFields as $customField) { if (strtolower($customField->getPrintName()) == strtolower($p_parameters['field_name'])) { $p_parameters['field_name'] = $customField->getPrintName(); $fieldValue = $articleData->getProperty('F' . $p_parameters['field_name']); break; } } if (is_null($fieldValue)) { return array(); } $subtitles = MetaSubtitle::ReadSubtitles($fieldValue, $p_parameters['field_name'], $context->article->name); $p_count = count($subtitles); return $p_limit !== 0 ? array_slice($subtitles, $p_start, $p_limit) : array_slice($subtitles, $p_start); }
/** * Add field properties to document * * @param array $doc * * @return array */ private function addDataFields(array $doc, $article) { $articleData = new \ArticleData($article->getType(), $article->getNumber(), $article->getLanguageId()); if (count($articleData->getUserDefinedColumns()) == 0) { return $doc; } $fields = array(); foreach ($articleData->getUserDefinedColumns() as $column) { $doc[$column->getPrintName()] = $articleData->getFieldValue($column->getPrintName()); } return $doc; }