Передача параметра в сниппет
Добрый день всем!
Есть выборка из собственной таблицы в БД.
Код чанка
Код сниппета для выборки полной информации
[[!allInfo?
& param = 'allInfo'
&table_id = 1
]]
А теперь вопрос. Как при переходе по ссылке «подробнее» на страницу полной информации о человеке передать значение id в параметр &table_id?
Есть выборка из собственной таблицы в БД.
<?php
$short_info = $modx->query("SELECT id, name, soname, city FROM `candidats`");
$results = $short_info->fetchAll(PDO::FETCH_ASSOC);
$out='';
foreach($results as $data){
$name = $data['name'];
$soname = $data['soname'];
$city = $data['city'];
$age = $data['age'];
$jobHistory = $data['job_history'];
$foto = $data['foto_link'];
$out .= $modx->getChunk('shortInfo', array('name'=>$name, 'soname'=>$soname, 'city'=>$city, 'age'=>$age));
}
return $out;
?>
Результаты выводятся в чанк. Код чанка
<table>
<th>
<td>id</td>
<td>Имя</td>
<td>Фамилия</td>
<td>Город</td>
<td>Подробнее</td>
</th>
<tr>
<td>[[+id]]</td>
<td>[[+name]]</td>
<td>[[+soname]]</td>
<td>[[+city]]</td>
<td><a href="../all-info.html">Подробнее</a></td>
</tr>
</table>
В результате выводится список с минимальным набором данных и ссылкой на страницу полной информации.Код сниппета для выборки полной информации
<?php
$id = $table_id;
$all_info = $modx->query("SELECT (*) FROM `candidats` WHERE id = $id");
$results = $all_info->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $data){
$name = $data['name'];
$soname = $data['soname'];
$city = $data['city'];
$age = $data['age'];
$jobHistory = $data['job_history'];
$foto = $data['foto_link'];
}
return $modx->getChunk('allInfo', array('name'=>$name, 'soname'=>$soname, 'city'=>$city, 'age'=>$age, 'jobHistory'=>$jobHistory, 'foto'=>$foto));
?>
На странице вызова сниппета использую [[!allInfo?
& param = 'allInfo'
&table_id = 1
]]
А теперь вопрос. Как при переходе по ссылке «подробнее» на страницу полной информации о человеке передать значение id в параметр &table_id?
Комментарии: 7
Можно в GET передавать:
И в вызове ловить (если pdoTools стоит):
<a href="../all-info.html?id=[[+id]]">Подробнее</a>
И в вызове ловить (если pdoTools стоит):
[[!allInfo?
¶m=`allInfo`
&table_id=[[!#GET.id]]
]]
Да, передача в GET работает отлично. Спасибо. А вот про метод с pdoTools где можно подробнее узнать, не подскажите?
В документации.
Ну или маршрутизацию свою написать.
Спасибо! Какая все-таки замечательная штука эта MODX) Особенно после Wordpress'а). По сути это даже не cms, а скорее фреймворк)
Не скорее, а так и есть. CMF MODX это фреймворк!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.