/** * Constructs a new properties form * @param string $action URL where this form will point to * @param joppa\model\Node $node * @param joppa\content\model\ContentProperties $properties * @return null */ public function __construct($action, Node $node, ContentProperties $properties) { parent::__construct($action, $node, $properties); $translator = I18n::getInstance()->getTranslator(); $fieldFactory = FieldFactory::getInstance(); $parameterId = $properties->getParameterId(); $parameterIdField = $fieldFactory->createField(FieldFactory::TYPE_OPTION, self::FIELD_PARAMETER_ID, $parameterId); $parameterIdField->setOptions($this->getParameterIdOptions($translator)); $this->addField($parameterIdField); }
/** * Constructs a new properties form * @param string $action URL where this form will point to * @param joppa\model\Node $node * @param joppa\content\model\ContentProperties $properties * @return null */ public function __construct($action, Node $node, ContentProperties $properties) { parent::__construct($action, $node, $properties); $translator = I18n::getInstance()->getTranslator(); $modelManager = ModelManager::getInstance(); $fieldFactory = FieldFactory::getInstance(); $model = $properties->getModelName(); $fields = $properties->getModelFields(); $recursiveDepth = $properties->getRecursiveDepth(); $includeUnlocalized = $properties->getIncludeUnlocalized(); $conditionExpression = $properties->getCondition(); $orderExpression = $properties->getOrder(); $paginationEnable = $properties->isPaginationEnabled(); $paginationRows = $properties->getPaginationRows(); $paginationOffset = $properties->getPaginationOffset(); $parametersType = $properties->getParametersType(); $contentTitleFormat = $properties->getContentTitleFormat(); $contentTeaserFormat = $properties->getContentTeaserFormat(); $title = $properties->getTitle(); $emptyResultMessage = $properties->getEmptyResultMessage(); $paginationShow = $properties->willShowPagination(); $paginationAjax = $properties->useAjaxForPagination(); $moreShow = $properties->willShowMoreLink(); $moreLabel = $properties->getMoreLabel(); $moreNode = $properties->getMoreNode(); $conditionExpressionField = $fieldFactory->createField(FieldFactory::TYPE_TEXT, self::FIELD_CONDITION_EXPRESSION, $conditionExpression); $orderFieldField = $fieldFactory->createField(FieldFactory::TYPE_LIST, self::FIELD_ORDER_FIELD); $orderFieldField->setOptions(self::getModelFieldOptions($modelManager, $model, true, false, $recursiveDepth)); $orderDirectionField = $fieldFactory->createField(FieldFactory::TYPE_LIST, self::FIELD_ORDER_DIRECTION); $orderDirectionField->setOptions($this->getOrderDirectionOptions($translator)); $orderExpressionField = $fieldFactory->createField(FieldFactory::TYPE_TEXT, self::FIELD_ORDER_EXPRESSION, $orderExpression); $orderAddButton = $fieldFactory->createSubmitField(self::FIELD_ORDER_ADD, self::TRANSLATION_ADD); $paginationEnableField = $fieldFactory->createField(FieldFactory::TYPE_BOOLEAN, self::FIELD_PAGINATION_ENABLE, $paginationEnable); $paginationRowsField = $fieldFactory->createField(FieldFactory::TYPE_LIST, self::FIELD_PAGINATION_ROWS, $paginationRows); $paginationRowsField->setOptions($this->getNumericOptions(1, 50)); $paginationOffsetField = $fieldFactory->createField(FieldFactory::TYPE_LIST, self::FIELD_PAGINATION_OFFSET, $paginationOffset); $paginationOffsetField->setOptions($this->getNumericOptions(0, 50)); $parametersTypeField = $fieldFactory->createField(FieldFactory::TYPE_OPTION, self::FIELD_PARAMETERS_TYPE, $parametersType); $parametersTypeField->setOptions($this->getParametersTypeOptions($translator)); $contentTitleFormatField = $fieldFactory->createField(FieldFactory::TYPE_STRING, self::FIELD_FORMAT_TITLE, $contentTitleFormat); $contentTeaserFormatField = $fieldFactory->createField(FieldFactory::TYPE_STRING, self::FIELD_FORMAT_TEASER, $contentTeaserFormat); $titleField = $fieldFactory->createField(FieldFactory::TYPE_STRING, self::FIELD_TITLE, $title); $emptyResultMessageField = $fieldFactory->createField(FieldFactory::TYPE_TEXT, self::FIELD_EMPTY_RESULT_MESSAGE, $emptyResultMessage); $paginationShowField = $fieldFactory->createField(FieldFactory::TYPE_BOOLEAN, self::FIELD_PAGINATION_SHOW, $paginationShow); $paginationAjaxField = $fieldFactory->createField(FieldFactory::TYPE_BOOLEAN, self::FIELD_PAGINATION_AJAX, $paginationAjax); $moreShowField = $fieldFactory->createField(FieldFactory::TYPE_BOOLEAN, self::FIELD_MORE_SHOW, $moreShow); $moreNodeField = $fieldFactory->createField(FieldFactory::TYPE_LIST, self::FIELD_MORE_NODE, $moreNode); $moreNodeField->setOptions($this->getMoreNodeOptions($modelManager, $node)); $moreLabelField = $fieldFactory->createField(FieldFactory::TYPE_STRING, self::FIELD_MORE_LABEL, $moreLabel); $this->addField($conditionExpressionField); $this->addField($orderFieldField); $this->addField($orderDirectionField); $this->addField($orderAddButton); $this->addField($orderExpressionField); $this->addField($paginationEnableField); $this->addField($paginationRowsField); $this->addField($paginationOffsetField); $this->addField($parametersTypeField); $this->addField($contentTitleFormatField); $this->addField($contentTeaserFormatField); $this->addField($titleField); $this->addField($emptyResultMessageField); $this->addField($paginationShowField); $this->addField($paginationAjaxField); $this->addField($moreShowField); $this->addField($moreLabelField); $this->addField($moreNodeField); }