Умная обрезка переменной дополнительного поля
D0Gmatist 19.01.2014 хак, dle 10.1 Блог 3527 2 комментария
\engine\modules\show.full.php - после
\engine\modules\show.short.php - после
\engine\modules\show.custom.php - после
\engine\modules\topnews.php - после
Дописываем
Где у нас
[xfvalue_X symbol="Y" sum="Z"]
X - Имя доп. поля
Y - Символ который будет считаться разделением переменной на массив
Z - Число сколько возвращать массивов
пример [xfvalue_actors]
Кэмерон Дуглас, Эммануэль Шрики, Чэд Линдберг, Джэйк Хоффман, Брайан Клагман, Брэндон Уильямс, Кортни Пелдон, Чина Шаверс, Лиза Уилхойт, Терри Гарбер
в хаке [xfvalue_actors symbol="," sum="3"]
Кэмерон Дуглас, Эммануэль Шрики, Чэд Линдберг
Код толь ка что написан .. так что могут быть изъяны требующие доработки .. жду ваших критик )))
Всем спасибо за внимание Ваш Сергей Геннадьевич (D0Gmatist)
$tpl->set( $matches[0], $xfieldsdata[$value[0]] );
}
\engine\modules\show.short.php - после
$tpl->set( $matches[0], $xfieldsdata[$value[0]] );
}
\engine\modules\show.custom.php - после
$tpl->set( $matches[0], $xfieldsdata[$value[0]] );
}
\engine\modules\topnews.php - после
$tpl->set( $matches[0], $xfieldsdata[$value[0]] );
}
Дописываем
if ( preg_match( "#\\[xfvalue_{$preg_safe_name} symbol=\"(.*)\".+?sum.+?\\]#iSu", $tpl->copy_template, $matches ) ) {
$matchesSy = $matches[1][0];
preg_match( "#\\[xfvalue_{$preg_safe_name}.+?symbol.+?sum=\"(.*)\"\\]#iSu", $tpl->copy_template, $matches );
$matchesSu = $matches[1][0];
$xfieldsdataList = explode($matchesSy,$xfieldsdata[$value[0]]);
$xfieldsdataCount = count($xfieldsdataList);
$xfieldsdataSum = "";
for ($ixs=0; $ixs<$matchesSu; $ixs++) {
$xfieldsdataSum .= trim($xfieldsdataList[$ixs]);
if ($ixs<$matchesSu - 1) $xfieldsdataSum .= ", ";
}
$tpl->set( $matches[0], $xfieldsdataSum );
}
Где у нас
[xfvalue_X symbol="Y" sum="Z"]
X - Имя доп. поля
Y - Символ который будет считаться разделением переменной на массив
Z - Число сколько возвращать массивов
пример [xfvalue_actors]
Кэмерон Дуглас, Эммануэль Шрики, Чэд Линдберг, Джэйк Хоффман, Брайан Клагман, Брэндон Уильямс, Кортни Пелдон, Чина Шаверс, Лиза Уилхойт, Терри Гарбер
в хаке [xfvalue_actors symbol="," sum="3"]
Кэмерон Дуглас, Эммануэль Шрики, Чэд Линдберг
Код толь ка что написан .. так что могут быть изъяны требующие доработки .. жду ваших критик )))
Всем спасибо за внимание Ваш Сергей Геннадьевич (D0Gmatist)