<?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.