PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 8
m33_nft Отправлено: 25 Августа, 2011 - 09:50:09 • Тема: Шаблонизация и передача параметров в класс. • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 4589
ссылка более не доступна
m33_nft Отправлено: 25 Августа, 2011 - 00:08:38 • Тема: Шаблонизация и передача параметров в класс. • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 4589
Вы уж извините, но я ничерта не понял. мне не нужен Ваш простейший шаблонизатор. Конкретно что в моем дописать, и как упростить запрос убрав циклы лишниие. Помещать ли функции меню в класс отдельный ? или же как то по другому это реальизовать (в плане структуры) И если не делать дочерний класс меню то каким образом передать переменные (называния полей и подполей) в tpl->set_value()

Пожалуйста без ссылок на гугл.
(Добавление)
В примере меню куда вы меня направили, там разметка не отделена вообще от кода. Why?
m33_nft Отправлено: 24 Августа, 2011 - 19:17:43 • Тема: Шаблонизация и передача параметров в класс. • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 4589
Просто таких "модулей" как меню полно. и на этом примере я бы хотел понять принцип и подключать и их.
m33_nft Отправлено: 24 Августа, 2011 - 13:30:15 • Тема: Шаблонизация и передача параметров в класс. • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 4589
Хорошо. Но а с главным вопросом поможете? Переписать шаблонизатор и передать туда называния меню и подменю ?
m33_nft Отправлено: 24 Августа, 2011 - 12:20:07 • Тема: Шаблонизация и передача параметров в класс. • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 4589
DeepVarvar пишет:
Избавьтесь от запросов в цикле выбора подкатегорий.


Простите, зачем?
m33_nft Отправлено: 24 Августа, 2011 - 02:36:49 • Тема: Шаблонизация и передача параметров в класс. • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 4589
Прошу прощения за глупый вопрос.
Имеется шаблонизатор :

PHP:
скопировать код в буфер обмена
  1. class templates
  2. {
  3. var $values             = array ();
  4. var $type;
  5. var $html ;
  6.  
  7.  
  8. function get_tpl ($tpl_name)
  9. {
  10.                                         if (empty($tpl_name) || !file_exists($tpl_name))
  11.                                                 {
  12.                                                         return false;
  13.                                                 }
  14.  
  15.                                                 else
  16.                                                 {
  17.                                                        
  18.                                                 $this->html = join('',file ($tpl_name));
  19.                                                         }
  20.                                                
  21.                                                         }
  22.  
  23.        
  24. function set_value($key,$var)
  25.                                         {
  26.                                                 $key = '{' .$key . '}';
  27.                                                 $this->values[$key] = $var;
  28.                                         }
  29.                                        
  30. function tpl_parse ()
  31.                                         {
  32.                                                 foreach ($this->values as $find => $replace )
  33.                                                                 {
  34.                                                                         $this->html = str_replace ($find, $replace , $this->html );
  35.                                                                 }
  36.                                         }
  37.        
  38.  
  39. }
  40.  
  41.  
  42.  
  43. ?>


и имеется модуль меню с выпадающими подпунктами

PHP:
скопировать код в буфер обмена
  1.  
  2. mysql_connect("localhost","user","1");
  3.  
  4. class menu extends templates
  5. {
  6.                                 var $type = 'menu';
  7.                                 var $main_menu = array ();
  8.                                 var $sub_menu= array ();
  9.                                
  10.                                                         function select_menu() {
  11.                                
  12.                                                 $q = mysql_query('SELECT menu_id,menu_name FROM eway_menu WHERE menu_type=0');
  13.                                                 for ($main_menu=0; $main_menu<mysql_num_rows($q); $main_menu++)
  14.                                
  15.                                                 {
  16.                                
  17.                                                  $array[$main_menu] = mysql_result($q,$main_menu,'menu_name');
  18.                                                 $t = mysql_query('SELECT menu_name FROM eway_menu WHERE menu_group='.mysql_result($q,$main_menu,'menu_id').' AND menu_type!=0');
  19.                                                 for ($sub_menu=0; $sub_menu<mysql_num_rows($t); $sub_menu++)
  20.                                                 $array[$main_menu][$sub_menu] = mysql_result($t,$sub_menu,'menu_name');
  21.                                
  22.                                                 }
  23.                                
  24.                                         }
  25. }
  26.  


Как правильно переписать шаблонизатор, или обратиться к нему чтобы передать значения массива (меню + выпадающее меню соответсвенно с группой) названия и прочее (ссылки и тп )


шабллнизатор работает по принципу

PHP:
скопировать код в буфер обмена
  1. $tpl = new templates;
  2.  
  3. $tpl->get_tpl (TMPL_DEFAULT_DIR.'/header.tpl');
  4. $tpl->set_value(tpl_dir,'modules/templates/default/');
  5. $tpl->tpl_parse();
  6. echo $tpl->html;


Помогите разобраться и дописать шаблонизатор. И как лучше формировать список загружаемых шаблонов .tpl в отдельном файле ? я имею в виду чтобы после авторизации блок welcome.tpl заменяла к примеру cabinet.tpl

Я новичек, и очень расчитываю на вашу помощь. Могу написать быдло кодом это всё, но хочу познать ООП. желательно пишите комментарии к коду. Заранее спасибо
m33_nft Отправлено: 21 Августа, 2011 - 13:25:56 • Тема: Помогите правильно составить запрос + немного php • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 4297
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given
(Добавление)
Всё это просто я затупил. названия полей не указал правильно

CODE (SQL):
скопировать код в буфер обмена
  1. mysql_connect("localhost","user","1");
  2. mysql_select_db("eway");
  3.  
  4.  
  5. $q = mysql_query('SELECT menu_id,menu_name FROM eway_menu WHERE menu_type=0');
  6. FOR ($i=0; $i<mysql_num_rows($q); $i++)
  7. {
  8. $array[$i] = mysql_result($q,$i,'menu_name');
  9. $t = mysql_query('SELECT menu_name FROM eway_menu WHERE menu_group='.mysql_result($q,$i,'menu_id').' AND menu_type!=0');
  10. FOR ($j=0; $j<mysql_num_rows($t); $j++)
  11. $array[$i][$j] = mysql_result($t,$j,'menu_name');
  12. }


Всё работает
m33_nft Отправлено: 21 Августа, 2011 - 00:33:18 • Тема: Помогите правильно составить запрос + немного php • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 4297
Речь о меню, с выпадающими списками. menu_type = говорит выпдающее оно или нет.
menu_group соответсвтует menu_id из которого это меню вываливается.

Помогите с запросом пожалуйста и с выводом в многомерный ассоциативный массив. Буду очень благодарен

CODE (SQL):
скопировать код в буфер обмена
  1. $sql = mysql_query("ЗАПРОС ");
  2.  
  3.       while($menu = mysql_fetch_array($sql))
  4.          
  5.         {
  6.          МАССИВ
  7.         }


К сообщению прилагаю скриншот БД

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB