本文整理汇总了PHP中EEH_Form_Fields::generate_question_groups_html2方法的典型用法代码示例。如果您正苦于以下问题:PHP EEH_Form_Fields::generate_question_groups_html2方法的具体用法?PHP EEH_Form_Fields::generate_question_groups_html2怎么用?PHP EEH_Form_Fields::generate_question_groups_html2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EEH_Form_Fields
的用法示例。
在下文中一共展示了EEH_Form_Fields::generate_question_groups_html2方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: registration_checkout
/**
* load and display the Registration Single Page Checkout
*
* @access public
* @param bool $from_admin
* @return string
*/
public function registration_checkout($from_admin = FALSE)
{
do_action('AHEE_log', __FILE__, __FUNCTION__, '');
//d($this->_cart);
EE_Registry::instance()->load_helper('Form_Fields');
EE_Registry::instance()->load_helper('Template');
EE_Registry::instance()->load_class('Question_Form_Input', array(), FALSE, FALSE, TRUE);
$event_queue = array();
$total_items = 0;
$ticket_count = array();
$payment_required = FALSE;
$sold_out_events = array();
$events_requiring_pre_approval = array();
$additional_event_attendees = array();
// $events_that_use_coupon_codes = array();
// $events_that_use_groupon_codes = array();
$template_args = array('css_class' => '', 'confirmation_data' => '', 'reg_page_discounts_dv_class' => 'hidden', 'additional_attendee_reg_info' => NULL, 'whats_in_the_cart' => '', 'prmy_att_input_name' => NULL);
$event_queue['title'] = __('Registrations', 'event_espresso');
$additional_attendee_forms = FALSE;
$registrations = $this->_transaction->registrations(array(), TRUE);
// grab the saved registrations from the transaction
if ($this->_transaction instanceof EE_Transaction && $registrations !== NULL) {
//d( $this->_transaction );
$event_queue['has_items'] = TRUE;
$prev_event = NULL;
foreach ($registrations as $registration) {
if (($registration->event()->is_sold_out() || $registration->event()->is_sold_out(TRUE)) && !$this->_reg_url_link == $registration->reg_url_link()) {
// add event to list of events that are sold out
$sold_out_events[$registration->event()->ID()] = '<li><span class="dashicons dashicons-marker ee-icon-size-16 pink-text"></span>' . $registration->event()->name() . '</li>';
}
$payment_required = $registration->status_ID() == EEM_Registration::status_id_pending_payment || $registration->status_ID() == EEM_Registration::status_id_approved ? TRUE : $payment_required;
if (!$payment_required && !$this->_reg_url_link == $registration->reg_url_link()) {
// add event to list of events with pre-approval reg status
$events_requiring_pre_approval[$registration->event()->ID()] = '<li><span class="dashicons dashicons-marker ee-icon-size-16 orange-text"></span>' . $registration->event()->name() . '</li>';
}
$total_items++;
$ticket_count[$registration->ticket()->ID()] = isset($ticket_count[$registration->ticket()->ID()]) ? $ticket_count[$registration->ticket()->ID()] + 1 : 1;
$line_item_ID = $registration->reg_url_link();
$event_queue['items'][$line_item_ID]['ticket'] = $registration->ticket();
$event_queue['items'][$line_item_ID]['event'] = $registration->event();
$event_queue['items'][$line_item_ID]['reg_count'] = $registration->count();
// do we need to generate data regarding attendees and reg form questions?
if (strpos($this->_current_step, 'attendee_information') !== FALSE) {
$question_meta = array('EVT_ID' => $registration->event()->ID(), 'att_nmbr' => $registration->count(), 'ticket_id' => $registration->ticket()->ID(), 'input_name' => '[' . $line_item_ID . ']', 'input_id' => $line_item_ID, 'input_class' => 'ee-reg-page-questions' . $template_args['css_class']);
$Question_Groups = EE_Registry::instance()->load_model('Question_Group')->get_all(array(array('Event.EVT_ID' => $registration->event()->ID(), 'Event_Question_Group.EQG_primary' => $registration->count() == 1 ? TRUE : FALSE), 'order_by' => array('QSG_order' => 'ASC')));
foreach ($Question_Groups as $QSG_ID => $Question_Group) {
$where = array('QST_deleted' => 0);
if (!$from_admin) {
$where['QST_admin_only'] = 0;
}
$Questions = $Question_Group->get_many_related('Question', array($where, 'order_by' => array('Question_Group_Question.QGQ_order' => 'ASC')));
foreach ($Questions as $Question) {
if ($Question instanceof EE_Question) {
// if this question was for an attendee detail, then check for that answer
$answer_value = EEM_Answer::instance()->get_attendee_property_answer_value($registration, $Question->ID());
$answer = $this->_reg_url_link || !$answer_value ? EEM_Answer::instance()->get_one(array(array('QST_ID' => $Question->ID(), 'REG_ID' => $registration->ID()))) : NULL;
// if NOT returning to edit an existing registration OR if this question is for an attendee property OR we still don't have an EE_Answer object
if (!$this->_reg_url_link || $answer_value || !$answer instanceof EE_Answer) {
// create an EE_Answer object for storing everything in
$answer = EE_Answer::new_instance(array('QST_ID' => $Question->ID(), 'REG_ID' => $registration->ID()));
}
if ($answer instanceof EE_Answer) {
if (!empty($answer_value)) {
$answer->set('ANS_value', $answer_value);
}
$question_meta['attendee'][$Question->is_system_question() ? $Question->system_ID() : $Question->ID()] = $answer->value();
$answer->cache('Question', $Question);
$answer_cache_id = $Question->system_ID() != NULL ? $Question->system_ID() . '-' . $line_item_ID : $Question->ID() . '-' . $line_item_ID;
// echo '<h4>$answer_cache_id : ' . $answer_cache_id . ' <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span></h4>';
$registration->cache('Answer', $answer, $answer_cache_id);
}
$Question_Groups[$QSG_ID]->cache('Question', $Question);
}
}
}
// printr( $registration, '$registration <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' );
add_filter('FHEE__EEH_Form_Fields__label_html', array('EED_Single_Page_Checkout', 'reg_form_form_field_label_wrap'), 10, 2);
add_filter('FHEE__EEH_Form_Fields__input_html', array('EED_Single_Page_Checkout', 'reg_form_form_field_input__wrap'), 10, 2);
$attendee_questions = EEH_Form_Fields::generate_question_groups_html2($Question_Groups, $question_meta, $from_admin, 'div');
// show this attendee form?
if (empty($attendee_questions)) {
$event_queue['items'][$line_item_ID]['additional_attendee_reg_info'] = "\n" . '<input type="hidden" id="' . $line_item_ID . '-additional_attendee_reg_info" name="qstn[' . $line_item_ID . '][additional_attendee_reg_info]" value="0" />' . "\n";
} else {
$additional_attendee_forms = $registration->count() == 1 ? FALSE : TRUE;
$event_queue['items'][$line_item_ID]['additional_attendee_reg_info'] = '';
}
$event_queue['items'][$line_item_ID]['attendee_questions'] = $attendee_questions;
// is this the primary registrant ?
if ($registration->count() == 1) {
// grab line item from primary attendee
$template_args['prmy_att_input_name'] = $line_item_ID;
} else {
// for all attendees other than the primary attendee
//.........这里部分代码省略.........