
<?php
include_once("./manager/new/list_content.php");
return $result;
?><?PHP
$startId=isset($startId) ? $startId : $modx->documentIdentifier;
$cols=intval($cols)>0?$cols:1;
if (intval($_POST["selectedStar"])>0){
$where.=" AND doc.stars=".$_POST["selectedStar"];
}
if (intval($_POST["priceMore"])>0){
$where.=" AND doc.price>".$_POST["priceMore"];
}
if (intval($_POST["priceLess"])>0){
$where.=" AND doc.price<".$_POST["priceLess"];
}
$sql="SELECT DISTINCT sc.id,sc.introtext,sc.menutitle,doc.adr,doc.stars,doc.price FROM modx_site_content sc
LEFT JOIN dn_docs AS doc ON doc.id = sc.id
WHERE sc.parent = '{$startId}' AND sc.deleted=0 AND (sc.privateweb=0)".$where."
GROUP BY sc.id ORDER BY sc.pagetitle
LIMIT 5";
//$result=$sql;
$rs=$modx->db->query($sql);
$max_row_in_col=ceil(mysql_num_rows($rs)/$cols);
$n=$r=0;
while ($row = $modx->db->getRow($rs)) {
$r++;
$n=$max_row_in_col<$r?$n+1:$n;
$rez[$n].="<p><img src='css/.png'/><img src='css/{$row['stars']}stars.png'/><a href='[~".$row['id']."~]'>{$row['menutitle']}</a></p>";
}
for ($n=0;$n<$cols;$n++){
$result.="<div class='col".$cols."'>".$rez[$n]."</div>\n";
}
?>
Вы все равно вызываете свой скрипт кодом, который хранится в базе
Так удобнее редактировать.
Кстати сам принцип хранения кода в базе ошибочен. На мой взгляд в базе данных должны быть именно данные, а не код.
Вы очень наблюдательны. Суть в том, что даже поставив EditArea в админку МОДХа, я не получил желаемого уровня удобства разработки, поэтому использую внешний файл. Позже, когда закончу работу над этим сниппетом, я волью его код в базу, а сам файл удалю и забуду о нем.
Вы все равно вызываете свой скрипт кодом, который хранится в базе
Вопрос поставлен некорректно. Что такое «Это не работает»? Вариантов может быть много – не подключается внешний файл, вообще не начинает выполняться сниппет, все работает, но не выдается нужный результат и так далее. Для выявления симптомов требуется дополнительное тестирование, а без этого можно только ответить в такой же манере «Не работает, так как неправильно сделано».
This discussion is closed to further replies. Keep calm and carry on.