Избыточные шаблоны просмотра: 1 для поиска с выделением, 1 для просмотра - PullRequest
0 голосов
/ 02 августа 2009

В настоящее время у меня есть 2 различных шаблона для отображения продукта: 1 для общего просмотра, 1 для результатов поиска. Это раздражает, мне приходится управлять 2-мя шаблонами для более-менее одинакового макета.

Причина, результаты поиска подсвечиваются. Мой шаблон подсветки выглядит примерно так:


for each result 
  <h2> 
  if search has name 
    <em> result.name </em>
  else
    result.name
  end
  </h2>

  if search has price
    <em> result.price </em>
  else 
    ...
  end
 ...
end

Я предпочитаю не создавать фиктивные переменные поиска, чтобы использовать это представление со страницей продукта. Я подумал о создании класса «display», который был бы предварительно упакован с соответствующими ems, но на самом деле это не то же самое, так как мои страницы просмотра продукта должны излишне соответствовать этому классу.

Полагаю, можно утверждать, что это два разных представления, служащих двум различным целям, но тот факт, что мне приходится управлять двумя разными файлами одного и того же HTML, мне не подходит.

У кого-нибудь есть решение и / или принять это?

1 Ответ

0 голосов
/ 02 августа 2009

Для достижения этого могут быть разные подходы, для конкретного решения укажите платформы / платформы, с которыми вы работаете.

Могу предложить следующее: а) Разделить общий макет и уникальный макет в разных файлах и объединить их при необходимости. Таким образом, вы можете иметь что-то вроде - header.html index.html footer.html search.html

Теперь index.html вызывает search.html по мере необходимости. Вполне масштабируемый подход.

б) Javascript - вы можете динамически генерировать элементы dom на страницах поиска, используя JS.

...