Перейти к публикации

Странная логика тега if


Рекомендованные сообщения

Если в фуллстори есть текст, то [if full_story > "4"] есть текст[/if] не работает. Я посмотрел код. А там

$fieldvalue = floatval($fieldvalue);
$value = floatval($value);
if($fieldvalue > $value) $match_count ++;

то есть нам нужно определить длинну текста а вы делаете $fieldvalue = floatval($fieldvalue); 

чуть выше идет $fieldvalue = trim(dle_strtolower($fieldvalue, $config['charset']));

если заменить на $fieldvalue = trim(dle_strlen($fieldvalue, $config['charset'])); то работает

Изменено пользователем crafic
Ссылка на сообщение
Поделиться на других сайтах

Никакой странной логики нет. Это вы как то странно придумали свою логику. Конструкция if full_story > "4" это математическое числовое сравнение, а не вычисление длины. Знак больше или меньше это математический знак, и идет исключительно математическая сравнение значений. А вы почему то сами придумали и решили что нужно вычислять длину строк. Это сравнение значений поля!!! с указанным в конструкции значениям. Например можно в поле написать 5. И оно будет больше чем 4.

Ссылка на сообщение
Поделиться на других сайтах
5 hours ago, celsoft said:

Никакой странной логики нет. Это вы как то странно придумали свою логику. Конструкция if full_story > "4" это математическое числовое сравнение, а не вычисление длины. Знак больше или меньше это математический знак, и идет исключительно математическая сравнение значений. А вы почему то сами придумали и решили что нужно вычислять длину строк. Это сравнение значений поля!!! с указанным в конструкции значениям. Например можно в поле написать 5. И оно будет больше чем 4.

просто в документации написано full_story - В шаблоне короткой новости это количество символов в полном описании. В шаблоне полной новости непосредственно полный текст.

 

Quote

Например можно в поле написать 5. И оно будет больше чем 4.

какой смысл в шот стори и фулл стори указывать число? для етого есть доп поля. например нужно вывести что то если заполнен тег full_story . тега [full_story ] [/full_story ] нет

Изменено пользователем crafic
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, crafic сказал:

какой смысл в шот стори и фулл стори указывать число?

Этот тег и и оператор не только для этих полей? Это универсальная конструкция для всех полей и значений.

3 часа назад, crafic сказал:

просто в документации написано full_story - В шаблоне короткой новости это количество символов в полном описании.

Совершенно верно, так оно и есть. И эта конструкция [if full_story > "4"] есть текст[/if] так и работает (даже специально проверил сейчас на чистом тестовом сервере), но это только для кратких новостей выводимых при просмотре кратких новостей тегом {content}. А например не в полных новостях или не при выводе пользовательского вывода новостей. Вероятно вы это ставите в какое то иное место и у вас другие условия.

Ссылка на сообщение
Поделиться на других сайтах
Quote

но это только для кратких новостей

вам решать. но если в краткой работает то почему бы такой функционал не сделать и для полных новостей?

Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, crafic сказал:

вам решать. но если в краткой работает то почему бы такой функционал не сделать и для полных новостей?

Вы не понимаете сути работы тега. Он для проверки данных которые поступают из базы данных на той или иной странице, и на основе этого дополнять вывод тем или иным на своей информации. Это не какой то "особый" функционал этого тега только краткого описания. Как вы думаете почему в кратких новостях только информация о том сколько символов в краткой новости? Просто подумайте зачем, и почему нет там полного текста из полного описания. Затем чтобы получать информацию что полная новость есть, и чтобы при просмотре кратких новостей не тянуть из базы тонны данных из полного описания, которое будет просто бессмысленно очень серьезно нагружать сервер, которое по своей логике только в полном а не в кратком.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...