Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Блог » Умная обрезка переменной дополнительного поля

Умная обрезка переменной дополнительного поля


 D0Gmatist    19.01.2014    хак, dle 10.1    Блог    2184    2 комментария

\engine\modules\show.full.php - после
                    $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)

2 комментария

D0Gmatist
Местный

D0Gmatist - 19 января 2014 13:54 -

Кто поставил отпишитесь .. у себя тестировал работает на ура ...
но не применять к доп полям где лежат картинки, видео...

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

AlexK
Юзер

AlexK - 14 мая 2014 15:42 -

А на DLE 10.2 нет таких строк, помогите реализовать.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх