Есть сниппет который дергает базу данных.
$modx->getDocumentChildrenTVarOutput($startid)
$startid передается в вызове сниппета:
[[mysnip?&startid=`[*id*]`]]
И нифига не работает....
Для проверки наковырял в снипете (сниппет взыается из документа 65):
$output="<!--Start out startid=$startid-->";
($startid=='65')?( $output.="<!--startid=65-->"):( $output.="<!--startid!=65-->");
($startid==='65')?( $output.="<!--startid==65-->"):( $output.="<!--startid!==65-->");
На выходе получил:
<!--Start out startid=65-->
<!--startid!=65-->
<!--startid!==65-->
Я еще могу понять, что 65!==65 при разных типах, но почему 65!=65 я понять не могу....
Причем на другом сайте этот код работает исправно (с условием что там вызов сниппета из шаблона, а сейчас из документа)...
А ведь в учёбнике по пхп написано:
PHP довольно терпимо относится к тому, что строки неявно преобразуются в числа, и наоборот.
$a=10;
$b="10";
if($a==$b) echo "a и b равны"; // Выводит "a и b равны"
Никому нельзя доверять...
*Раньше тут было написано что проблема решилась сменой типа $startid - ошибочка вышла*
Работает только при вызове:
[[mysnip?&startid=`65`]]
Почему?