Codeigniter - Как создавать виджеты / модули боковой панели, т.е. встраивать содержимое другого контроллера в представление

Я хотел бы начать с изменения A, чтобы каждый срез становился строкой (с командой reshape). Затем используйте unique(A, 'rows'). Наконец, измените уникальные строки на одну и ту же фигуру срезы.

Например:

% transforming so each row is a slice in row form
reshaped_A = reshape(A, [], size(A, 3))';

% getting unique rows
unique_rows = unique(reshaped_A, 'rows');

% reshaping back
unique_slices = reshape(unique_rows', size(A, 1), size(A, 2), []);

Или все в одной строке:

reshape(unique(reshape(A, [], size(A, 3))', 'rows')', size(A, 1), size(A, 2), [])

Я не проверял этот выше код, поэтому используйте с осторожностью! Но это должно дать идею.


EDIT

Здесь он работает над вашими данными (также исправлена ​​небольшая ошибка в вышеприведенном коде):

>> reshaped_A = reshape(A, [], size(A, 3))'

reshaped_A =

Columns 1 through 11

16     5     9     4     2    11     7    14     3    10     6
 1     0     0     0     0     1     0     0     0     0     1
16     5     9     4     2    11     7    14     3    10     6
 0     0     0     1     0     0     1     0     0     1     0

Columns 12 through 16

15    13     8    12     1
 0     0     0     0     1
15    13     8    12     1
 0     1     0     0     0

Каждая из этих ^^ строк является одним из исходных срезов

>> unique_rows = unique(reshaped_A, 'rows')

unique_rows =

Columns 1 through 11

 0     0     0     1     0     0     1     0     0     1     0
 1     0     0     0     0     1     0     0     0     0     1
16     5     9     4     2    11     7    14     3    10     6

Columns 12 through 16

 0     1     0     0     0
 0     0     0     0     1
15    13     8    12     1

Эти ^^ являются уникальными срезами, но в неправильной форме.

>> unique_slices = reshape(unique_rows', size(A, 1), size(A, 2), [])

unique_slices(:,:,1) =

 0     0     0     1
 0     0     1     0
 0     1     0     0
 1     0     0     0


unique_slices(:,:,2) =

 1     0     0     0
 0     1     0     0
 0     0     1     0
 0     0     0     1


unique_slices(:,:,3) =

16     2     3    13
 5    11    10     8
 9     7     6    12
 4    14    15     1
1
задан tereško 6 August 2013 в 18:38
поделиться

1 ответ

Вы может довольно легко встраивать представления в другие представления, примите во внимание следующее:

В вашем контроллере Передайте данные для соответствующих компонентов вашей страницы в виде многомерного массива.

//Get data
$data['other_page_data'] = $this->some->model->get_page_data($page_id)
$data['home_events_view'] = $this->eventsmodel->get_events();

//Load View 
$this->load->view('home', $data); 

На ваш взгляд Просто передайте массив событий обратно в $ data и загрузите представление.

<?php
$data['home_events_view'] = $home_events_view;

$this->load->view('home_events', $data);
?>
2
ответ дан 2 September 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: