Для цикла на разных страницах - PullRequest
1 голос
/ 07 октября 2011

Я постараюсь объяснить ситуацию как можно яснее. У меня есть система, которая представляет ссылки на события, созданные с помощью JEvents для знакомых (в Joomla)

Когда событие создается в администраторе, в представлении категории для него отображается небольшая таблица с датой, именем и ссылкой на страницу события. Все это прекрасно работает. Теперь ссылка вызывается в отдельном php-файле, чем тот, который отображает HTML-представление для всего этого Ссылка называется так:

<a class="ev_link_row" href="<?php echo $rowlink; ?>" <?php echo $args;?> style="font-weight:bold;color:<?php echo $fgcolor;?>;" title="<?php echo JEventsHTML::special($row->title()) ;?>"><?php echo $tmpTitle ;?></a> 

В сценарии рендеринга HTML у меня есть это:

$this->viewEventRowNew ( $row,'view_detail',JEV_COM_COMPONENT, $Itemid);

Который содержится в цикле for выше, заполняя переменную $ row всеми видами информации.

for( $r = 0; $r < $num_events; $r++ ){
    $row = $data['rows'][$r];

и т.д.

Теперь к вопросу. У меня есть таблица, в которой хранятся имена файлов изображений. У меня нет проблем с созданием forloop, который проходит по строкам и возвращает путь к изображениям, например:

$db = & JFactory::getDBO();
$query2 = "SELECT `c`.`filename` AS `iname` , `c`.`filetitle` AS `ititle` , `c`.`ev_id` AS `eventid` FROM `#__jev_files` AS `c` ";
$db->setQuery($query2);
$imagelist = $db->loadObjectList();
?>
  <?php foreach($imagelist as $row) : ?>
 <img src="/images/stories/jevents/<?php echo $row->iname; ?>" />
<?php endforeach; ?>

Теперь очевидный вопрос, как мне назначить это изображение для включения в ссылку. Я попытался обернуть цикл for вокруг linkitself, но он, очевидно, разрушает ад, поскольку он повторно используется в цикле (создание цикла внутри цикла и уничтожение моего макета) Если я использую запрос на странице рендеринга html, то моя проблема, по сути, в том, что я не знаю, как добавить вышеизложенное к переменной $ row, не нарушая остальную функциональность.

Спасибо, ОГРОМНО всем, кто может мне помочь.

1 Ответ

1 голос
/ 07 октября 2011

Я думаю, я мог бы дать только тот ответ, который вы ищете, если бы я мог лучше понять вопрос.Возможно, кое-что из того, что вы говорите, относится к Joomla, поэтому я не совсем понимаю.

Но, как правило, объектно-ориентированное программирование - это хороший способ сохранить информацию об одной связанной вещи, такой как вся дата, описание и коллекция изображений, связанных с одним событием.Если вы можете циклически проходить через набор идентификаторов, и каждый идентификатор можно использовать для создания объекта Event, тогда каждый объект Event может быть создан для извлечения его собственной информации и связанных изображений.Он сохраняет код как этот чище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...