Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru Блог Умная обрезка переменной дополнительного поля

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


 D0Gmatist    19.01.2014    Блог    1973    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
225

794 | 281

D0Gmatist - 19 января 2014 13:54 - Местный

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

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

AlexK
6

AlexK - 14 мая 2014 15:42 - Юзер

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

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