поле для введения слов поиска: как увеличить количество символов

Тема в разделе "Структура данных сайта", создана пользователем tigra-uki, 13.01.2009.

  1. tigra-uki
    Offline

    tigra-uki Недавно здесь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    Возникла необходимость возможности увеличения количества символов в строке поиска (сейчас их 20).
    Имею ввиду если я не буду увеличивать в модуле поиска в админке ширину поля - там их выставлено 20.
    Т.е. необходимо чтобы когда символов, скажем, будет 70 они вводились (чего сейчас не происходит), но видимое поле при этом было 20.
     
  2.  
  3. tigra-uki
    Offline

    tigra-uki Недавно здесь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    все проблема решена! изменить данные в строке 12 :
    maxlength="20" на необходимую цифру

    в файле default_form.php (путь components/com_search/views/search/tmpl/default_form.php)
     
  4. tigra-uki
    Offline

    tigra-uki Недавно здесь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    Ребятки! я вас обманула -сама написав ответ на вопрос что мол все ок (cм. выше)
    ...не фига не помогло! По прежнему максимум 20 символов, дословно пишет так: "Для выполнения поиска длина фразы должна быть не менее 3-х символов и не более 20"
    Да к слову - Joomla 1.5.8.
    Копалась в файлах поиска и модуля и компонента...Что еще, кто подскажет?
     
  5. chilly_bang
    Offline

    chilly_bang специалист

    Регистрация:
    30.04.2006
    Сообщения:
    1 545
    Симпатии:
    38
    Пол:
    Мужской
    берёшь эту фразу, ищешь в языковом файле, что вставляет эту фразу, потом ищешь по файлам, где эта вставлялка – и где рядышком будет циферка 20, которую надобно поменять.
     
  6. tigra-uki
    Offline

    tigra-uki Недавно здесь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    chilly_bang, увы, так как ты говоришь тоже делала...рядом, как ты говоришь SEARCH_MESSAGE она в view.html.php...ничего не дало...
    волшебство прямо елки-палки! :)))
    нету!
    Кроме того, все что было с "20" в папках \components\com_search\ и \modules\mod_search\ заменяла на большие цифры -ан -нет!
    ....
     
    Последнее редактирование: 06.02.2009
  7. chilly_bang
    Offline

    chilly_bang специалист

    Регистрация:
    30.04.2006
    Сообщения:
    1 545
    Симпатии:
    38
    Пол:
    Мужской
    в mod_search вот эти строки
    Код (PHP):
    1. $width = intval($params->get('width', 20));
    2. $maxlengt = $width > 20 ? $width : 20;
    и кэш обнови
     
  8. tigra-uki
    Offline

    tigra-uki Недавно здесь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    chilly_bang, :) в том то и дело, что

    $width = intval($params->get('width', 150));
    $maxlength = $width > 150 ? $width : 150;

    ???!!!...
     
  9. chilly_bang
    Offline

    chilly_bang специалист

    Регистрация:
    30.04.2006
    Сообщения:
    1 545
    Симпатии:
    38
    Пол:
    Мужской
    а в настройках модуля что?
    Код (html):
    1. /modules/mod_search/mod_search.xml

    Код (PHP):
    1. <param name="width" type="text" default="20" label="Box Width" description="Size of the search text box in characters" />
     
  10. tigra-uki
    Offline

    tigra-uki Недавно здесь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    chilly_bang, и здесь, увы - 150!

    <param name="width" type="text" default="150" label="Box Width" description="Size of the search text box in characters" />
     
  11. tigra-uki
    Offline

    tigra-uki Недавно здесь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    Люди! что никто больше с этой проблемой не столкнулся?
     
  12. Offline

    Strogiy Недавно здесь

    Регистрация:
    08.07.2009
    Сообщения:
    2
    Симпатии:
    2
    Промучился пол дня. Решение проблемы навеяла ваша тема:).
    В файле /com_search/views/search/view.html.php закоментируем строки:

    //limit searchword

    if(SearchHelper::limitSearchWord($searchword)) {
    $error = JText::_( 'SEARCH_MESSAGE' );
    }
    получится следующее:

    //limit searchword

    //if(SearchHelper::limitSearchWord($searchword)) {
    // $error = JText::_( 'SEARCH_MESSAGE' );
    //}

    У меня все заработало. Надеюсь я не опоздал с ответом.
     
    Адриан и Xweb нравится это.
  13. Offline

    Адриан Недавно здесь

    Регистрация:
    09.04.2010
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо помогло :)
     
  14. Offline

    inom Недавно здесь

    Регистрация:
    22.04.2009
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Думаю это решение не совсем безопасно =)
    в \administrator\components\com_search\helpers\search.php
    есть переменная function limitSearchWord(&$searchword) которая отвечает за ограничение символов =)
    Оригинальный комментарий и ф-я:
    Код (PHP):
    1. function limitSearchWord(&$searchword)
    2.     {
    3.         $restriction = false;
    4.  
    5.         // limit searchword to 20 characters
    6.         if ( JString::strlen( $searchword ) > 45 ) {
    7.             $searchword     = JString::substr( $searchword, 0, 44 );
    8.             $restriction    = true;
    9.         }
    10.  
    11.         // searchword must contain a minimum of 3 characters
    12.         if ( $searchword && JString::strlen( $searchword ) < 3 ) {
    13.             $searchword     = '';
    14.             $restriction    = true;
    15.         }
    16.  
    17.         return $restriction;
    18.     }

    Я поменял на 45, и макс. символов в инпуте также на 45 (как делать см. выше) теперь режет приблизительно так:
    welcome welcome welcome welcome welcome welco, нормально подсвечивает и т.д.
     
  15. Dorfman
    Offline

    Dorfman Недавно здесь

    Регистрация:
    10.05.2008
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Для Joomla 1.0.Х:
    в файле components/com_search/search.html.php ищи эту строку и заменяй параметр maxlength="20" на нужное количество символов.

    Код (PHP):
    1. <input type="text" name="searchword" id="search_searchword" size="30" maxlength="20" value="<?php echo stripslashes($searchword);?>" class="inputbox" />


    Для Joomla 1.5.Х:
    файл administrator/components/com_search/helpers/search.php - те же яйца. Только здесь, к примеру, если тебе надо 70, то в первой строке ставишь 20 70, а во второй 19 ставишь 69.

    Код (PHP):
    1. if ( JString::strlen( $searchword ) > 20 ) {
    2.             $searchword     = JString::substr( $searchword, 0, 19 );
    3.             $restriction    = true; }
     
  16. Offline

    mike_jag Недавно здесь

    Регистрация:
    13.07.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Для Joomla 1.5 вышеуказанные советы у меня не пошли. Решение:
    modules\mod_virtuemart_search\mod_virtuemart_search.php открыть по F4.
    В строке:
    <input name="keyword" type="text" size="12" ............
    поменять 12 на др. число.
     
  17. Offline

    alcex Недавно здесь

    Регистрация:
    14.02.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский
    Вам это, понятно, уже не нужно, но если кому надо изменить именно максимальную длину символов в ПОЛЕ ВВОДА поиска, то вот, как это сделала я (искала, но в интернете почему-то нет ответов):
    1) заходите в: templates/ВАШ ШАБЛОН/html/mod_search/default.php
    2) находите там в 13 строке: $output = '<input name="searchword" id="search" maxlength="20" class="inputbox'
    3) заменяете это, например, на 50 символов: $output = '<input name="searchword" id="search" maxlength="50" class="inputbox'

    А об изменении максимальной длины выражения поиска в интернете написано много, например:
    http://mc-joomla.ru/index.php?option...oomla&Itemid=5 Сообщить о нерабочей ссылке или тут: http://joomla-support.ru/thread9044-2.html Сообщить о нерабочей ссылке
     
  18. Dorfman
    Offline

    Dorfman Недавно здесь

    Регистрация:
    10.05.2008
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Дык, разговор вёлся о стандартном серче, а не о виртумартовском... А уже в 3-х проектах, сделанных на Джумле 1.5, я проверил - всё пашет!
     
  19. Offline

    yaalfne Недавно здесь

    Регистрация:
    16.05.2011
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    alcex!!! Огромное спасибо. Перепробовал все. Сначала сам рылся. Потом смотрел что советуют. Вот не додумался в шаблоне смотреть. Все заработало. СПАСИБО[!]
     
  20. borro
    Offline

    borro Пользователь

    Регистрация:
    24.09.2011
    Сообщения:
    63
    Симпатии:
    0
    Пол:
    Мужской
    Сотрутся ли предложенные изменения при обновлении джумлы?
     
  21. Offline

    topcyprus Недавно здесь

    Регистрация:
    04.02.2012
    Сообщения:
    1
    Симпатии:
    2
    Пол:
    Мужской
    для 1.7 надо исправить переменную getUpperLimitSearchWord в файле \language\ru-RU\ru-RU.localise.php
    меняешь один раз, меняется во всех плагинах и тп.
     
    zYuri и borro нравится это.

Поделиться этой страницей

Загрузка...