Задать вопрос
  • Не получается исправить баг в php или smarty?

    @smoky-jo Автор вопроса
    ThunderCat, сейчас буду проверять. Нет, это самостоятельный скрипт, ребята перемудрили просто, столько всего наделали, что разбираться можно годами сидеть в этой фигне, либо переписывать все заново
  • Не получается исправить баг в php или smarty?

    @smoky-jo Автор вопроса
    ThunderCat, я немного помучался, нашел часть кода с проблемой

    этот код как я и говорил полностью, генерирует ссылку
    {capture name=surl assign=surl}{if $settings.enable_locations && in_array($v.depending.caption2, $location_fields)}javascript:;" 
    onclick="changeLocation('{$live_site}', '{$v.depending.caption2}|{$t.name|rawurlencode}')
    {else}
    {if $seo_settings.enable_mod_rewrite}{if !isset($post_array[$v.depending.caption2])}
    {$constructed_url|replace:$sfield:$field_string}{else}
    {capture name=crt_field_string assign=crt_field_string}{$separator}{$v.depending.caption2}={if $post_array[$v.depending.caption2]|stristr:$t.name|rawurlencode}{$post_array[$v.depending.caption2]|lower|replace:{$t.name|lower}:''|trim:'|'}{else}{$t.name|lower|replace:'/':'_'|rawurlencode}
    |{$post_array[$v.depending.caption2]|lower}{/if}{/capture}{$constructed_url|replace:$sfield|lower:$crt_field_string}{/if}{else}{if !isset($post_array[$v.depending.caption2])}
    {$constructed_url}{$separator}{$v.depending.caption2}={$t.name|replace:'/':'_'|rawurlencode}
    {else}{capture name=crt_field_string assign=crt_field_string}{if $post_array[$v.depending.caption2]|stristr:$t.name|rawurlencode}{$post_array[$v.depending.caption2]|lower|replace:{$t.name|lower}:''|trim:'|'}{else}{$t.name|lower|replace:'/':'_'|rawurlencode}|{$post_array[$v.depending.caption2]|lower}{/if}{/capture}{$constructed_url}{$separator}{$v.depending.caption2}={$crt_field_string}{/if}{/if}{/if}{/capture}


    вот тут я добавил после $ sfield |lower

    {$constructed_url|replace:$sfield|lower:$crt_field_string}{/if}


    а тут после $ t.name перед checked

    <input type="checkbox" name="{$v.depending.caption2}_{$t.name|rawurlencode}" {if stristr($post_array[$v.depending.caption2], $t.name|lower)}checked{/if} 
    onclick="window.location='{$surl}'" />


    теперь выбранный параметр показывает check и запрос выполняется, также при нажатии на него check убирается, но при выборе второго параметра(check) при условии что уже один выбран - сбрасывается первый и новый не выбирается, т.е ссылка принимает начальный вид, поэтому теперь можно отметить только один check, перепробовал все уже, не получается сделать так чтобы отмечалось несколько параметров и они добавлялись и пропадали из ссылки при клике.

    если убрать lower где $ sfield, то отмечаются все выбранные параметры check ом и ссылка выглядит так
    https://site.ru/search/?location=москва&region=подольск|ивантеевка|москва

    и так и должно быть, но при снятии check а с одного из выбранных параметров например с ивантеевки получается так
    https://site.ru/search/?location=москва&region=подольск|ивантеевка|ивантеевка|москва
    и при каждом клике на check который нужно снять будет добавлено повторение, а по идее должно убраться и стать такого вида
    https://site.ru/search/?location=москва&region=подольск|москва


    понимаете в чем может быть проблема? сможете помочь?
  • Не получается исправить баг в php или smarty?

    @smoky-jo Автор вопроса
    ThunderCat, здесь в capture формируется ссылка скорее всего, потом выводится в a href $ surl

    Я даже не знаю что здесь нужно , а что нет, скорее всего проблема внутри capture