Чудны будни веб-разработчиков и MODX в частности
Взялся тут по-дурости, доработать один сайт. И углубляясь в код шаблонов и чанков волосы по-тихоньку вставали дыбом. Объясните, пожайлуста, может я дурак?
Вывод новостей на главной странице
Код чанка
[[!NewsBlock1MainPage? &parent=`4` &limit=`[[*limitMainPZ]]`]]
Код сниппета NewsBlock1MainPage.
Код чанка
[[!NewsBlock1MainPage? &parent=`4` &limit=`[[*limitMainPZ]]`]]
Код сниппета NewsBlock1MainPage.
<?php
$where = array('parent' => $parent, 'published' => 1);
$resources = $modx->getCollection('modResource',$where);
$output = '';
$i = 0;
foreach ($resources as $res) {
if ($i < $limit) {
$output .= '<div class=\'gallery_block\'>';
$output .= '<a href=\'[[~'.$res->get('id').']]\'>';
$output .= '<div class=\'gallery_block_content\'>';
$output .= '<div class=\'gallery_block_img\'>';
$tv = $modx->getObject('modTemplateVar', array('name'=>'BigImg'));
$rs = $tv->getMany('TemplateVarResources');
foreach ($rs as $r) {
if ($r->get('contentid') == $res->get('id')) {
$output .= '<img src=\'/'.$r->get('value').'\' alt=\'\' />';
}
}
$output .= '</div>';
$output .= '<div class=\'gallery_block_text\'>';
$output .= '<div class=\'gallery_block_title_wrap\'>';
$tv = $modx->getObject('modTemplateVar', array('name'=>'Slider1BigImgText1'));
$rs = $tv->getMany('TemplateVarResources');
foreach ($rs as $r) {
if ($r->get('contentid') == $res->get('id')) {
$output .= $r->get('value');
}
}
$output .= '</div>';
$output .= '</div>';
$output .= '</div>';
$output .= '<div class=\'gallery_block_hover\'>';
$output .= '<div class=\'gallery_block_hover_title_wrap\'>';
$output .= '<div class=\'gallery_block_title_wrap2\'>';
$tv = $modx->getObject('modTemplateVar', array('name'=>'LinkText'));
$rs = $tv->getMany('TemplateVarResources');
foreach ($rs as $r) {
if ($r->get('contentid') == $res->get('id')) {
$output .= '<div class=\'bllllp2\'><span>'.$r->get('value').'</span></div>';
}
}
$tv = $modx->getObject('modTemplateVar', array('name'=>'Slider1BigImgText2'));
$rs = $tv->getMany('TemplateVarResources');
foreach ($rs as $r) {
if ($r->get('contentid') == $res->get('id')) {
$output .= '<h2>'.$r->get('value').'</h2>';
}
}
$tv = $modx->getObject('modTemplateVar', array('name'=>'Slider1BigImgText3'));
$rs = $tv->getMany('TemplateVarResources');
foreach ($rs as $r) {
if ($r->get('contentid') == $res->get('id')) {
$output .= $r->get('value');
}
}
$output .= '</div>';
$output .= '</div>';
$output .= '</div>';
$output .= '</a>';
$output .= '</div>';
}
$i++;NewsBlock1MainPage
}
echo $output;
Все это было заменено на 4 строчки[[!pdoResources?
&parents=`4`
&tpl=`tpl.PopularArticleItem`
&includeTVs=`BigImg,typematerial,rolematerial,articlebigimg`
]]
Вот сижу и думаю, может бросить все это дело, пока не поздно :-)Комментарии: 3
Обычное дело — программист не знаком с MODX.
Бросать не стоит, лучше объяснить заказчику масштаб проблем и увеличить цену. Если не согласен — тогда можно и бросить.
Бросать не стоит, лучше объяснить заказчику масштаб проблем и увеличить цену. Если не согласен — тогда можно и бросить.
Тоесть человеку не лень было разбираться с методами MODx, но быстро пробежаться по документации стандартных дополнений он не захотел? Чудно.
Думаю, да. Учитывая еще, что он пишет HTML прямо в PHP, перед нами программист из двухтысячных =)
Наверное, просто решает задачи, как привык, а нужные методы гуглит «как получить все ресурсы в MODX Revo», «Как получить ТВ у ресурса MODX».
Наверное, просто решает задачи, как привык, а нужные методы гуглит «как получить все ресурсы в MODX Revo», «Как получить ТВ у ресурса MODX».
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.