Как сохранить и получить доступ к повторно используемым массивам данных в codeigniter? - PullRequest
2 голосов
/ 08 марта 2011

Я относительно новичок в codeigniter и изо всех сил пытаюсь понять, как сохранить и получить доступ к данным с нескольких контроллеров, поэтому хотелось бы знать, может ли кто-нибудь здесь помочь мне понять это.возвращает массив данных для передачи в представление и создания выпадающего списка.

Ниже приведен код, который будет использоваться в функции

switch($type) {
case 'text':
$data = array (
                'equals'        => 'Equals',
                'notequal'      => 'Does Not Equal',
                'startswith'    => 'Starts With',
                'endswith'      => 'Ends With',
                'contains'      => 'Contains',
                'notcontain'    => 'Does Not Contain',
                );
break;

case 'numeric':

$data = array (
                        'equals'        => 'Equals',
                        'notequal'      => 'Does Not Equal',
                        'less'          => 'Less Than',
                        'greater'       => 'Greater Than',
                        'equalless'     => 'Less Than Or Equal To',
                        'equalgreater'  => 'Greater Than Or Equal To'
                        );

break;

case 'date':

$data = array (
                        'equals'        => 'Equals',
                        'notequal'      => 'Does Not Equal',
                        'before'        => 'Before',
                        'after'         => 'After',
                        'equalbefore'   => 'Before Or Equal To',
                        'equalafter'    => 'After Or Equal To'
                        );
break;
}

. Затем я передам данные.массив, который возвращается из этой функции в представление, использующее ее для создания выпадающего списка формы с использованием следующего кода:

echo form_dropdown('conditions', $data);

Я не уверен, нужно ли мне создавать помощника для этого или что-то еще?

Спасибо за внимание

1 Ответ

3 голосов
/ 08 марта 2011

Я все еще не совсем уверен, чего вы пытаетесь достичь, но обычно в прошлом для выпадающего контента, который мне нужно много раз использовать в проекте, я буду содержать значения в помощнике.

вот так ...

condition_helper.php

<? if ( ! defined('BASEPATH')) exit('No direct script access allowed');

if ( ! function_exists('hotel_types_dropdown')) {

    function date_dropdown_values() {

        $data = array (
            'equals'        => 'Equals',
            'notequal'      => 'Does Not Equal',
            'before'        => 'Before',
            'after'         => 'After',
            'equalbefore'   => 'Before Or Equal To',
            'equalafter'    => 'After Or Equal To'
        );

        return $data;
    }

, и вы продолжите форматировать различные выпадающие настройки с соответствующими именами функций.

Так что, как только вы добавите его вваш autoload.php или загрузите его в контроллер, в котором вы хотите его использовать. Просто вызовите его с date_dropdown_values(), и он вернет ваш массив для использования в выпадающем списке.

Затем в вашем контроллере ...

switch($type) {
    case 'text':
        $data->dropdown_values = text_dropdown_values();
        break;

    case 'numeric':
        $data->dropdown_values = numeric_dropdown_values();
        break;

    case 'date':
        $data->dropdown_values = date_dropdown_values();
        break;
}

$this->load->view('path/to/view', $data);

А потом по вашему мнению

<?php echo form_dropdown('conditions', $dropdown_values); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...