| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Maxx 18.04.2016 14:26 / 18.04.2016 14:51
http://www.parser.ru/docs/lang/?hashfilehash.htmКонструктор создает хеш, в котором имена ключей совпадают со значениями первого столбца выборки. Имена столбцов формируют ключи хеша, а значения столбцов - соответствующие этим ключам значения. (имхо, в доке стоит попонятнее написать как это работает)То есть в вашем хеше сначала идет ключ $getajour.{$id} (скорее всего id, первый столбец, согласно доке) внутри которого лежит все остальное в виде вложенного хэша.
^adrules.menu{^if($adrules.type eq "journal"){$lim1($adrules.watchlimit)$lim2($adrules.clicklimit)}}
^connect[...]{
$jours_count[^table::int(SELECT COUNT(*) FROM `banners` WHERE `type` like "journal" AND `moderated` > 1 AND `watched` <= $lim1 OR `type` like "journal" AND `moderated` > 1 AND `clicked` <= $lim2 OR `type` like "journal" AND `moderated` > 1 AND `end` <= "CURRENT_TIMESTAMP")[$.default(0)]]
# рандомим.
$thisjour(^math:random($jours_count+1))
# идём за выбранным
$getajour[^table::sql{SELECT * FROM `banners` WHERE `type` like "journal" AND `moderated` > 1 AND `watched` <= $lim1 OR `type` like "journal" AND `moderated` > 1 AND `clicked` <= $lim2 OR `type` like "journal" AND `moderated` > 1 AND `end` <= "CURRENT_TIMESTAMP" LIMIT ${thisjour},1}]
# да, я задумал такие правила, либо-либо-либо, всё верно. инкрементируем просмотры выбранного
^void:sql{UPDATE `base_ads`.`banners` SET `watched` = `watched` + 1 WHERE `id` = '$getajour.id'}
}
# создаём индексик в обработчной директории /ads/айдибаннера/
$bwa[^^before[]^^within[]^^after[]] ^rem{не знаю что это за жесть и за чем, но пусть}
^if(-f "/ads/${getajour.id}/index.html"){}{^bwa.save[/ads/${getajour.id}/index.html]}
# пишем код. ссылка и картинка - из хеша.
<a href="/ads/${getajour.id}/" rel="nofollow" id="journal" style="background-image: url($getajour.image)^; background-position: top left^; background-size: contain^; background-repeat: no-repeat^;"></a>
# и - вау! - всё должно быть.