- Codeigniter ... проблем с view
12
WT форуми -> PHP MySQL ASP.NET -> Codeigniter ... проблем с view
Създайте нова тема Напишете отговор 
Автор Съобщение
Msecurity
Потребител
Потребител

Регистриран на: 18/09/2010 8:12 am

Support: 19
Bonus: 37
Мнения: 750
Мнение 04/09/2018 11:24 am     Codeigniter ... проблем с view Отговорете с цитат


Здравейте, реших и аз да използвам codeigniter ии вече имам проблем хахаха Very Happy
Как мога да заредя определена функция от друг контролер във view
Примерно имам контролера "Common", в който има функцията "menu" с дизайн...
и въпроса е как мога да я извикам в основният view файл за контолера обект примерно?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 158
Bonus: 315
Мнения: 1470
Мнение 04/09/2018 11:29 am      Отговорете с цитат


Не съм запознат с code igniter, ама логически не би трябвало вюто да вика каквито и да е контролери. Вюто само рисува подадените параметри.

Вместо да викаш контролер във вю, се "поръчай" нужните параметри във вюто от контролера, който ще го рисува. А нужните параметри ще ги извадиш в контролера и ще ги пратиш на вюто.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
joTunkiq
Активен
Активен

Регистриран на: 25/12/2012 12:03 pm

Support: 132
Bonus: 264
Мнения: 799
Мнение 04/09/2018 11:50 am      Отговорете с цитат


Подкрепям, чее не е добра идея, ама щом си решил да мажеш - мажи. Ще очакваме още теми значи хах ;д

Примерен код:
PHP code:

/*Load External Controller*/
$controller = "controller_name_here!!";
$method = "method_name_here!!";

include($controller.'.php');
$get = new $controller();
$get->$method();



https://stackoverflow.com/questions/6500022/codeigniter-calling-a-method-of-one-controller-from-other

https://www.quora.com/Is-it-possible-to-call-a-controller-from-another-controller-in-CodeIgniter - това е по legit :д

Idea Idea Question
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Msecurity
Потребител
Потребител

Регистриран на: 18/09/2010 8:12 am

Support: 19
Bonus: 37
Мнения: 750
Мнение 04/09/2018 11:58 am      Отговорете с цитат


Не не, не искам да мажа ... Very Happy
искам да направя следното
Имам си динамичен хедър .. с менюта, логини и т.н ...
и искам просто в дизайна само с <?php $header; ?> да мога да го извикам ..
Ето пример:
мета тагове....
$хедър
контент...

нещо такова Very Happy
Както и примерно да мога да извикам някои модул.. да речем за "Подобни продукти" ... да си го зареди с функциоаност и дизайн :d
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 83
Bonus: 178
Мнения: 1741
Мнение 04/09/2018 12:42 pm      Отговорете с цитат


Нещо не те разбрах имаш два контролера и в единия връщаш някакво вю, а от втория искаш някакъв метод така ли?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Msecurity
Потребител
Потребител

Регистриран на: 18/09/2010 8:12 am

Support: 19
Bonus: 37
Мнения: 750
Мнение 04/09/2018 1:16 pm      Отговорете с цитат


не.. имам си контролер за извеждане на обект, но искам да добавя и модул / уджет в страницата с обекта, който е в друг, файл, друг клас и т.н
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 83
Bonus: 178
Мнения: 1741
Мнение 04/09/2018 1:22 pm      Отговорете с цитат


Еми можеш да наследиш другия клас в контролера и така ще имаш достъп до всичките му методи.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 158
Bonus: 315
Мнения: 1470
Мнение 04/09/2018 1:23 pm      Отговорете с цитат


teroristd написа:
Еми можеш да наследиш другия клас в контролера и така ще имаш достъп до всичките му методи.

А ако иска да направи 2 такива widgeta?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 83
Bonus: 178
Мнения: 1741
Мнение 04/09/2018 1:36 pm      Отговорете с цитат


Еми тогава с Dependency Injection и няма да има проблеми.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Msecurity
Потребител
Потребител

Регистриран на: 18/09/2010 8:12 am

Support: 19
Bonus: 37
Мнения: 750
Мнение 04/09/2018 2:10 pm      Отговорете с цитат


Много се радвам че отново има дискусия, но говорим за CI, и имах предвид да стане нещо като това:
PHP code:
$data['column_left'] = $this->load->controller('common/column_left');

Като common = файл/контроллер
column_left = функцията
и във view файл се извиква ето така:
Цитат:
<div class="row"><?php echo $column_left; ?> .... </div>
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 83
Bonus: 178
Мнения: 1741
Мнение 04/09/2018 2:54 pm      Отговорете с цитат


Не съм запознат с codeigniter но разгледах някои подобни примери. Виж това дали няма да ти свърши работа.
PHP code:

$this->load->library('../path_to_file/common');
$data['column_left'] = $this->common->column_left();
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 158
Bonus: 315
Мнения: 1470
Мнение 04/09/2018 3:04 pm      Отговорете с цитат


В други работни рамки обикновено темплейтите имат функциите да се импортват едни други. Тук няма ли?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
12
Страница 1 от 2


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети