| 
                              
                                  
                               | 
                              
                                  19.12.2011, 23:00 
                                 
                                 
                                    
                                    
                                    
                                    
                                  
                               | 
                            
                            
                            
                               | 
                               
                                Гость 
                                
                                Гость 
                                
                                
                                 
                                
                                
                                
                               | 
                              
                                Помогите разобраться с шаблонами отображения 
Создал компонент 
Поля - art_header, art_text 
 
Должно выглядеть так - на странице слева - блок со списком заголовков статей, справа - блок с текстом выбранной статьи. При клике по заголовку статьи - в правом блоке появляется ее текст, а слева остается полный список статей. 
 
Шаблон отображения списка объектов 
Префикс 
Код:<div id='art_single'> 
<div id='art_single_bg'> 
<div id='art_single_bg_top'></div> 
 
<div id='art_menu_list'> 
<ul class='art_list'>   
 
Суфикс 
Код:</ul> 
 
</div> 
 
<div id='art_right_block'> 
<h1>$f_article_header</h1> 
<p>$f_article_text<p> 
</div> 
<div id='clear'></div> 
<div id='art_single_bg_bot'></div> 
</div> 
</div>   
 
Обьект в списке 
Код:<li class='art_li'><a href='$fullLink'>$f_article_header</a></li>   
 
Шаблон отображения одного объекта на отдельной странице. 
Код:<div id='art_single'> 
<div id='art_single_bg'> 
<div id='art_single_bg_top'></div> 
 
<div id='art_menu_list'> 
<ul class='art_list'> 
 
<!-- тут нужно опять вывести полный список заголовков статей со ссылками на подробное описание --> 
 
</ul> 
 
</div> 
 
<div id='art_right_block'> 
<h1>$f_article_header</h1> 
<p>$f_article_text<p> 
</div> 
<div id='clear'></div> 
<div id='art_single_bg_bot'></div> 
</div> 
</div>  
                                
                               | 
                            
                            
                            
   | 
  
      
   | 
  
      20.12.2011, 09:05 
     
     
        
        
        
        
      
   | 
   | 
   
    ap 
    
    
    
    
     
    Зарегистрирован:  2009-04-30 
    Сообщений: 12 
    
   | 
  
    SELECT ... `Subdivision_ID`, `Message_ID`, (SELECT Hidden_URL as url FROM Subdivision WHERE Subdivision.Subdivision_ID=MessageXX.`Subdivision_ID`) FROM `MessageXX` LIMIT XX 
или лучше с помощью JOIN 
что типа такого из этого всего и делайте что нужно
    
   | 
   | 
  
      
   | 
  
      23.12.2011, 18:31 
     
     
        
        
        
        
      
   | 
   | 
   
    Гость 
    
    Гость 
    
    
     
    
    
    
   | 
  
    Спасибо за ответ. 
Насколько понимаю  
Subdivision_ID - номер раздела 
Message_ID - номер статьи в моем случае 
что такое LIMIT XX? 
 
этот код я в таком виде могу вставить в шаблон отображения обьекта? 
 
 
не работает(
    
   | 
   | 
  
      
   | 
  
      23.12.2011, 18:49 
     
     
        
        
        
        
      
   | 
   | 
   
    Denis 
    
    
    
    
      
    Зарегистрирован:  2008-07-15 
    Сообщений: 666 
    
   | 
  
    Создайте в вашем компоненте шаблон компонента (пустой) и в нем в объекте в списке пропишите: 
Код:<div>$f_art_header</div>   
Пусть получившийся номер шаблона компонента - 100. 
 
А в этом месте: 
Код:<!-- тут нужно опять вывести полный список заголовков статей со ссылками на подробное описание -->   
пропишите 
Код:".s_list_class($sub,$cc, "nc_ctpl=100")."  
    
  
   | 
   | 
  
      
   | 
  
      23.12.2011, 19:42 
     
     
        
        
        
        
      
   | 
   | 
   
    Гость 
    
    Гость 
    
    
     
    
    
    
   | 
  
    Спасибо, Денис! 
все настолько просто)
    
   | 
   | 
  
      
   | 
  
      24.12.2011, 10:27 
     
     
        
        
        
        
      
   | 
   | 
   
    Гость 
    
    Гость 
    
    
     
    
    
    
   | 
  
    Не надо использовать, функцию s_list_class если подобных вызовов набирается хотя бы > 3 Дело в том, что вызов такой функции приводит к нескольким запросам к БД (от 5 и гораздо больше) (получить шаблон, данные компонента и т.п.) Если на странице нужно вывести данные из другого компонента, то лучше написать функцию для вывода этих данных в functions.inc.php дефолтного модуля. В подобном случае практически всегда можно обойтись 1 запросом. 
 Вообще, один вызов s_list_class может создавать десятки запросов к БД! В зависимости от компонента, объекты которого выводятся.
    
   | 
   | 
  
      
   | 
  
      26.12.2011, 00:34 
     
     
        
        
        
        
      
   | 
   | 
   
    Denis 
    
    
    
    
      
    Зарегистрирован:  2008-07-15 
    Сообщений: 666 
    
   | 
  
    Если есть задачи, которые можно решать через API системы, то, вероятно, лучше им и воспользоваться. Хотя бы из соображений сопровождения ( будет ли ваша функция учитывать свойства "перенос строки - br" или формирования url объекта по keyword'у?, а если что-то добавится в будущем?). За такую универсальность приходится платить временем. Но ситуация с десятками запросов явно утрирована, во-первых, дублирующихся запросов практически нет - их результаты сохраняются, во-вторых, есть модуль кэширвоания.
    
  
   | 
   | 
  
      
   | 
  
      26.12.2011, 16:57 
     
     
        
        
        
        
      
   | 
   | 
   
    DiGGy 
    
    
    
    DiGGy 
      
    Зарегистрирован:  2005-04-04 
    Сообщений: 1546 
    
   | 
  
    В третьих, параноя с затратой ресурсов может быть только в двух случаях: 
1. Если у вас сервер - это пентиум 3 какой-нить допотопный, либо тарифный план у хостера ну совсем никчемный 
2. Если у вас аля соц сеть с посещаемостью 100тыщ. в сутки и выше - и то это можно решить на уровне мощности VPS сервера. 
 
Во-всех других случаях - ручные запросы идут только как минус в плане дальнейшего развития и поддержки (как ранее отписал Денис).  
 
Причиной написания ручных запросов может быть еще и след. фактор - разработчик только начал осваивать неткет и ему быстрее сделать запрос ручками (если IQ позволяет), чем разобраться в штатном API и понять что к чему.
    
 
 Temet nosce... 
   |