Александр Лубянский 5 Жалоба Опубликовано: May 7, 2015 Уважаемые Знатоки! Подскажите возможный вариант решения вопроса. Как сделать чтобы не отображались не заполненные поля в карточке объекта? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: May 7, 2015 подробнее плз, какой шаблон?в том же agency realty_view.tpl вроде везде есть проверка на вывод только заполненных полей Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 8, 2015 Можете сами добавлять условия тут/template/frontend/realia/realty_view.tpl <table> {foreach from=$hvd_tabbed item=tab key=tabname} {if $tab|count>0} {foreach from=$tab item=data_item} {if $data_item.type eq "primary_key" or $data_item.value eq "0" or $data_item.value eq "" or $data_item.name eq "currency_id" or $data_item.name eq "export_cian" or $data_item.name eq "user_id" or $data_item.name eq "price" or $data_item.name eq "youtube" or $data_item.type eq "hidden" or $data_item.name eq "text" or $data_item.type eq "geodata" or $data_item.name eq "meta_keywords" or $data_item.name eq "meta_description" or $data_item.name eq "meta_title" or $data_item.type eq "uploads" or $data_item.name eq "text_en"} {elseif $data_item.name eq "fio"} {assign var="agent_fio" value=$data_item.value} {elseif $data_item.name eq "phone"} {assign var="agent_phone" value=$data_item.value} {elseif $data_item.name eq "email"} {assign var="agent_email" value=$data_item.value} {elseif $data_item.type eq "destination"} {if $data_item.value_string!=''} <tr><th>{$data_item.title}</th><td>{$data_item.value_string}</td></tr> {/if} {elseif $data_item.type eq "select_by_query"} {if $data_item.value_string!=''} <tr><th>{$data_item.title}</th><td>{$data_item.value_string}</td></tr> {/if} {elseif $data_item.type eq "select_box_structure"} {if $data_item.value_string!=''} <tr><th>{$data_item.title}</th><td>{$data_item.value_string}</td></tr> {/if} {elseif $data_item.type eq "checkbox"} {if $data_item.name ne 'hot' and $data_item.name ne 'active'} {if $data_item.value eq 1} <tr><th>{$data_item.title}</th><td><input type="checkbox" checked="checked" disabled="disabled" /></td></tr> {/if} {/if} {elseif $data_item.type eq "select_box"} {if $data_item.value_string!=''} <tr><th>{$data_item.title}</th><td>{$data_item.value_string}</td></tr> {/if} {elseif $data_item.type eq "tlocation"} <tr><th>{$data_item.title}</th><td>{$data_item.tlocation_string}</td></tr> {else} {if $data_item.value!=''} {if $data_item.name eq "text"} <tr><th>{$data_item.title}</th><td>{$data_item.value|nl2br}</td></tr> {else} <tr><th>{$data_item.title}</th><td>{if is_array($data_item.value)}{$data_item.value|implode:','}{else}{$data_item.value}{/if}</td></tr> {/if} {/if} {/if} {/foreach} {/if} {/foreach} </table> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Александр Лубянский 5 Жалоба Опубликовано: May 27, 2015 Вот такого плана <p><span>Тип:</span><span>{if isset($data.property_type.value_string) && $data.property_type.value_string!=''}{$data.property_type.value_string}{else}{$user_data.property_type.value_string}{/if}</span></p><p><span>Цена:</span><span>€ {if isset($data.price.value) && $data.price.value!=''} {$data.price.value} {else} {$user_data.price.value} {/if}</span></p><p><span>Старая цена:</span><span class="old_price">€ {if isset($data.sprice.value) && $data.sprice.value!=''} {$data.sprice.value} {else} {$user_data.sprice.value} {/if}</span></p><p><span>Команты:</span><span>{if isset($data.room_count.value) && $data.room_count.value!=''} {$data.room_count.value} {else} {$user_data.room_count.value} {/if}</span></p><p><span>Спальни:</span><span>{if isset($data.spalni.value) && $data.spalni.value!=''} {$data.spalni.value} {else} {$user_data.spalni.value} {/if}</span></p><p><span>Ванные:</span><span>{if isset($data.van.value) && $data.van.value!=''} {$data.van.value} {else} {$user_data.van.value} {/if}</span></p><p><span>Жилая площадь:</span><span>{if isset($data.square_live.value) && $data.square_live.value!=''} {$data.square_live.value} {else} {$user_data.square_live.value} {/if} m²</span></p><p><span>Площадь террас:</span><span>{if isset($data.furniture.value) && $data.furniture.value!=''} {$data.furniture.value} {else} {$user_data.furniture.value} {/if} m²</span></p><p><span>Площадь участка:</span><span>{if isset($data.square_all.value) && $data.square_all.value!=''} {$data.square_all.value} {else} {$user_data.square_all.value} {/if} m²</span></p><p><span>Этаж:</span><span>{if isset($data.floor.value) && $data.floor.value!=''} {$data.floor.value} {else} {$user_data.floor.value} {/if}</span></p><p><span>Мебль:</span><span>{if isset($data.mebel.value) && $data.mebel.value!=''} {$data.mebel.value} {else} {$user_data.mebel.value} {/if}</span></p><p><span>Парковка:</span><span>{if isset($data.parking.value) && $data.parking.value!=''} {$data.parking.value} {else} {$user_data.parking.value} {/if}</span></p><p><span>Кухня:</span><span>{if isset($data.square_kitchen.value) && $data.square_kitchen.value!=''} {$data.square_kitchen.value} {else} {$user_data.square_kitchen.value} {/if}</span></p><p><span>Вид:</span><span>{if isset($data.vid.value) && $data.vid.value!=''} {$data.vid.value} {else} {$user_data.vid.value} {/if}</span></p><p><span>Бассейн:</span><span>{if isset($data.pool.value) && $data.pool.value!=''} {$data.pool.value} {else} {$user_data.pool.value} {/if}</span></p><p><span>Год постройки:</span><span>{if isset($data.god.value) && $data.god.value!=''} {$data.god.value} {else} {$user_data.god.value} {/if} г.</span></p><p><span>Расстояние до моря:</span><span>{if isset($data.sea.value) && $data.sea.value!=''} {$data.sea.value} {else} {$user_data.sea.value} {/if} м.</span></p></div><br /><div class="object_infolocation"><p>Окрестности:</p><p><span>Пляж:</span><span>{if isset($data.beach.value) && $data.beach.value!=''} {$data.beach.value} {else} {$user_data.beach.value} {/if}</span></p><p><span>Магазины:</span><span>{if isset($data.mag.value) && $data.mag.value!=''} {$data.mag.value} {else} {$user_data.mag.value} {/if}</span></p><p><span>Аэропорт:</span><span>{if isset($data.aero.value) && $data.aero.value!=''} {$data.aero.value} {else} {$user_data.aero.value} {/if}</span></p><p><span>Больница:</span><span>{if isset($data.hosp.value) && $data.hosp.value!=''} {$data.hosp.value} {else} {$user_data.hosp.value} {/if}</span></p> </div><br /><div class="object_characteristic"><p>Особенности:</p><table> {foreach from=$hvd_tabbed item=tab key=tabname}{foreach from=$tab item=data_item}{if $data_item.type eq "primary_key" or $data_item.value eq "0" or $data_item.value eq "" or $data_item.name eq "currency_id" or $data_item.name eq "export_cian" or $data_item.name eq "user_id" or $data_item.name eq "price" or $data_item.name eq "youtube" or $data_item.type eq "hidden" or $data_item.name eq "text" or $data_item.type eq "geodata" or $data_item.name eq "meta_keywords" or $data_item.name eq "meta_description" or $data_item.name eq "meta_title"} {elseif $data_item.type eq "checkbox"} {if $data_item.name ne 'hot' and $data_item.name ne 'active'} {if $data_item.value eq 1} <tr><th style="width:250px"><p><span>{$data_item.title}</span></p></th><td> <div class="ez-checkbox ez-checked"></div></td></tr> {/if} {/if} {elseif $data_item.type eq "select_box"} {elseif $data_item.type eq "tlocation"} <tr><th>222{$data_item.title}</th><td>{$data_item.tlocation_string}</td></tr> {/if} {/foreach}{/foreach}</table> </div> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 28, 2015 Т.е. уже разобрались? ) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Александр Лубянский 5 Жалоба Опубликовано: May 28, 2015 Т.е. уже разобрались? )У меня блоки с разными стилями... не могу подстроиться под этот вывод блин... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: May 28, 2015 У меня блоки с разными стилями... не могу подстроиться под этот вывод блин...напишите в раздел фриланс, возможно найдутся хорошие люди чтобы вам помочь. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 28, 2015 Самое сложно в этом определиться, что соответствует понятию "незаполненное поле".Например{if isset($data.sprice.value) && $data.sprice.value!=''}...{/if}На первый взгляд логичное условие. Но оно не учитывает, чтоа) может быть ноликб) может быть в значении "двестипятьдесяттри" (буквами) или "какбыхотелнаписатьценунодрогнуларука"в) может быть просто пробел. Он тоже не равен пустой строке. Иногда проще определять не то, что незаполнено, а условие заполнености. Например для цены сложно ловить три условия, проще считать, что если "значение в цифровом представлении не равно нулю, значит цена заполнена" и тогда условие приобретает вид{if isset($data.sprice.value) && 0!==(int)$data.sprice.value}...выводим{/if}Может оффтоп, а может кого и подтолкнет в верном направлении. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: May 28, 2015 Может оффтоп, а может кого и подтолкнет в верном направлении.не офтоп, всё в тему.имхо всегда надо ловить именно ожидаемое значение. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: May 28, 2015 Вот такого плана имхо такие длинные листинги лучше в спойлер запихивать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: May 28, 2015 to rumattic: а разве в IPB нет подсветки кода языка? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 29, 2015 to rumattic: а разве в IPB нет подсветки кода языка?Есть, просто не все оформляют это в тегах кода. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Александр Лубянский 5 Жалоба Опубликовано: May 29, 2015 Самое сложно в этом определиться, что соответствует понятию "незаполненное поле".Например{if isset($data.sprice.value) && $data.sprice.value!=''}...{/if}На первый взгляд логичное условие. Но оно не учитывает, чтоа) может быть ноликб) может быть в значении "двестипятьдесяттри" (буквами) или "какбыхотелнаписатьценунодрогнуларука"в) может быть просто пробел. Он тоже не равен пустой строке. Иногда проще определять не то, что незаполнено, а условие заполнености. Например для цены сложно ловить три условия, проще считать, что если "значение в цифровом представлении не равно нулю, значит цена заполнена" и тогда условие приобретает вид{if isset($data.sprice.value) && 0!==(int)$data.sprice.value}...выводим{/if}Может оффтоп, а может кого и подтолкнет в верном направлении.<p><span>Этаж:</span><span>{if isset($data.floor.value) && 0!==(int)$data.floor.value!=''} {$data.floor.value} {else} {$user_data.floor.value} {/if}</span></p> Не проходит такое значение... отваливается вывод Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 29, 2015 {if isset($data.floor.value) && 0!==(int)$data.floor.value!=''} Во второй части выражения либо 0!== либо !='' Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Александр Лубянский 5 Жалоба Опубликовано: June 1, 2015 Во второй части выражения либо 0!== либо !=''Могу я попросить Вас наглядный пример?!)) Благодарю за понимание! Мне так проще понимать ситуацию и похожие моменты в дальнейшем. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: June 1, 2015 Могу я попросить Вас наглядный пример?{if isset($data.floor.value) && 0!=(int)$data.floor.value} 1 Дмитрий Кондин reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Александр Лубянский 5 Жалоба Опубликовано: June 16, 2015 {if isset($data.floor.value) && 0!=(int)$data.floor.value}Здорово конечно, убирает пустую инфу, но не прячет весь массив..."<p><span>Старая цена:</span><span class="old_price">€ {if isset($data.sprice.value) && $data.sprice.value!=''} {$data.sprice.value} {else} {$user_data.sprice.value} {/if}</span></p>" Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: June 16, 2015 по аналогии обработать каждое нужное поле Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Александр Лубянский 5 Жалоба Опубликовано: June 16, 2015 В итоге сделал вот такого вида: {if isset($data.floor.value) && $data.floor.value!=''}<p><span>Этаж:</span><span>{$data.floor.value}{else}{$user_data.floor.value}</span></p>{/if} В редакции объекта упорно выводится "0", даже если затираю полностью.... посмотрел в бд, сравнил поля с которыми такого не происходит и не нашел отличия... куда глянуть? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: June 16, 2015 вы проверяете на заполненность, а где в вашем варианте проверка на 0 ?&& 0!==(int)$data.floor.value}в 8 посту вроде подробно расписали суть. 1 Александр Лубянский reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Александр Лубянский 5 Жалоба Опубликовано: June 17, 2015 вы проверяете на заполненность, а где в вашем варианте проверка на 0 ?&& 0!==(int)$data.floor.value}в 8 посту вроде подробно расписали суть.Благодарю! Проморгал вот этот момент!У меня в окончании && $data.square_all.value!=''} соответственно конфликт и не работало! Вот теперь можно разделять вывод! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах