当前位置: 首页>>代码示例>>PHP>>正文


PHP CRM_Core_Form::elementExists方法代码示例

本文整理汇总了PHP中CRM_Core_Form::elementExists方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_Form::elementExists方法的具体用法?PHP CRM_Core_Form::elementExists怎么用?PHP CRM_Core_Form::elementExists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CRM_Core_Form的用法示例。


在下文中一共展示了CRM_Core_Form::elementExists方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: resetElementValue

 /**
  * Reset values for all options those are full.
  *
  * @param array $optionFullIds
  * @param CRM_Core_Form $form
  */
 public static function resetElementValue($optionFullIds = array(), &$form)
 {
     if (!is_array($optionFullIds) || empty($optionFullIds) || !$form->isSubmitted()) {
         return;
     }
     foreach ($optionFullIds as $fldId => $optIds) {
         $name = "price_{$fldId}";
         if (!$form->elementExists($name)) {
             continue;
         }
         $element = $form->getElement($name);
         $eleType = $element->getType();
         $resetSubmitted = FALSE;
         switch ($eleType) {
             case 'text':
                 if ($element->getValue() && $element->isFrozen()) {
                     $label = "{$element->getLabel()}<tt>(x)</tt>";
                     $element->setLabel($label);
                     $element->setPersistantFreeze();
                     $resetSubmitted = TRUE;
                 }
                 break;
             case 'group':
                 if (is_array($element->_elements)) {
                     foreach ($element->_elements as $child) {
                         $childType = $child->getType();
                         $methodName = 'getName';
                         if ($childType) {
                             $methodName = 'getValue';
                         }
                         if (in_array($child->{$methodName}(), $optIds) && $child->isFrozen()) {
                             $resetSubmitted = TRUE;
                             $child->setPersistantFreeze();
                         }
                     }
                 }
                 break;
             case 'select':
                 $value = $element->getValue();
                 if (in_array($value[0], $optIds)) {
                     foreach ($element->_options as $option) {
                         if ($option['attr']['value'] === "crm_disabled_opt-{$value[0]}") {
                             $placeholder = html_entity_decode($option['text'], ENT_QUOTES, "UTF-8");
                             $element->updateAttributes(array('placeholder' => $placeholder));
                             break;
                         }
                     }
                     $resetSubmitted = TRUE;
                 }
                 break;
         }
         //finally unset values from submitted.
         if ($resetSubmitted) {
             self::resetSubmittedValue($name, $optIds, $form);
         }
     }
 }
开发者ID:nyimbi,项目名称:civicrm-core,代码行数:63,代码来源:Registration.php

示例2: hremerg_civicrm_buildForm

/**
 * @param string $formName
 * @param CRM_Core_Form $form
 */
function hremerg_civicrm_buildForm($formName, &$form)
{
    if ($formName == 'CRM_Contact_Form_Relationship' && empty($form->_caseId)) {
        if ($form->elementExists('relationship_type_id') && $form->_contactType == 'Individual') {
            $relationshipType = civicrm_api3('relationship_type', 'get', array('name_a_b' => 'Emergency Contact'));
            $select = $form->getElement('relationship_type_id');
            $select->freeze();
            $select->setLabel('');
            $form->getElement('related_contact_id')->setLabel('');
            if ($form->getAction() & CRM_Core_Action::ADD && !empty($relationshipType['id'])) {
                $form->setDefaults(array('relationship_type_id' => $relationshipType['id'] . '_a_b'));
            }
        }
    }
}
开发者ID:JoeMurray,项目名称:civihr,代码行数:19,代码来源:hremerg.php


注:本文中的CRM_Core_Form::elementExists方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。