Архив категории ‘PHP’.
2009/09/06, 16:16
Стандартный совет: создайте в корне проекта файл autocomple.php и перечислите там классы CodeIgniter. А чтобы автодополнение работало по всему приложению, добавьте также свои собственные модели и классы.
Copy Source | Copy HTML
- <?php
- /**
* @property CI_Loader $load
* @property CI_Form_validation $form_validation
* @property CI_Input $input
* @property CI_Email $email
* @property CI_DB_active_record $db
* @property CI_DB_forge $dbforge
* @property CI_Table $table
* @property CI_Session $session
* @property CI_FTP $ftp
* @property CI_Benchmark $benchmark
* @property CI_Calendar $calendar
* @property CI_Image_lib $image_lib
* @property CI_Email $email
* @property CI_Encrypt $encrypt
* @property CI_Exceptions $exception
* @property CI_Language $language
* @property CI_Pagination $pagination
* @property CI_Parser $parser
* @property CI_Trackback $trackback
* @property CI_User_agent $user_agnet
* @property CI_Validation $validation
* @property CI_Security $security
* @property Excel $excel
* @property Blog_model $Blog_model
* @property Test_model $Test_model
* @property Categoryes_model $Categoryes_model
* @property Gallery_model $Gallery_model
* @property Menu_model $Menu_model
* @property MPTtree $MPTtree
* @property Pages_model $Pages_model
* @property Portfolio_model $Portfolio_model
* @property Rights_model $Rights_model
* @property Users_model $Users_model
* ...
*/
- Class Controller {
-
- }
В NetBeans меня немного раздражает, что что открывающая скобка находится на одном уровне с оператором. По гайдлайнам CodeIgniter это не приветствуется, да и мне после C# не особенно облегчает просмотр кода. Глаз быстрее находит открывающую скобку, чем оператор или объявление. Как побороть?
Идём в меню “Tools”, пункт “Options”, закладка “Formatting”. Далее выставляем всё так:
После этого используем автоформатирование кода (Alt+Shift+F).
2009/08/31, 14:04
Решил провести полный рефакторинг своей CMS (да-да, каждый вебразработчик просто обязан написать свою систему управления контентом), и заодно сделать панель управления удобнее.
Задача такая: есть дерево меню сайта в админке. Рядом с каждым пунктом меню – кнопка, нажав её, переходим на страницу редактирования свойств пункта меню: ссылки, активности, картинки. Задача следующая – не переходить на другую страницу, как в "суровые девяностые", а используя AJAX открыть тут же, в псевдо всплывающем окне, типа лайтбокса, который заполонил весь инет.
Начнём, как говорят "37 signals", с проектирования интерфейса. Использовать плагины и чужие скрипты не хочется, люблю, чтобы страницы загружались быстро. Поэтому обойдёмся без лайтбокса и jquery tools. Всплывающее окно будет у нас слоем с абсолютным позиционированием и следующими свойствами:
Copy Source | Copy HTML
- #divedit
- {
- position: absolute;
- z-index:0;
- background: silver;
- display: none;
- top:50%;
- left:50%;
- width: 400px;
- height: 274px;
- margin-left: -200px;
- margin-top: -137px;
- border: gray solid;
- }
Продолжить чтение ‘CodeIgniter и Ajax’ »
2009/05/26, 13:00
Для тех, кто использует модель MPTtree, реализующую вложенные множества в CodeIgniter. Не рекурсией же вы иерархические структуры читаете, смею надеяться?
В функциях move_to_first_child_of, move_to_last_child_of закралась ошибка. Соответственно, в модели не работает перемещение узлов. Эти же функции используются ORM, поэтому проблема глобальна.
Строки
<?php
if($this->lft != 1 || $node->orphan || $node->instance->tree_table != $this->instance->tree_table)
return false;
?>
бессмысленны, так левая граница перемещаемого узла всегда будет неравна единице, так как единица – это левая граница корневого узла. И наоборот, эта функция сработает, если отмечен корень, что не хорошо, ибо корень един и не изменяем.
Меняем $this->lft != 1 на $this->lft == 1 и радуемся.
Тем кто не в теме, срочно просвещаться.
P.S. В рассматриваемой модели поле уровня не используется, оно излишне. Необходимо и достаточно левой и правой границы.
