IPB

Здравствуйте, гость ( Вход | Регистрация )

> Правильно формулируйте вопросы - Вам быстрей ответят

Перед подачей запроса воспользуйтесь сервисом Поиск. Возможно Ваш вопрос уже был задан и доступно быстрое решение.

Для максимально быстрого решения проблемы обязательно укажите:
- адрес Вашего сайта + наименование хостинга (локальный/внешний)
- номер установленного релиза PHPSHOP CMS FREE (Указывается в админпанели. Пример PHPShop CMS Free (сборка 34501).
- подготовьте принтскрин Вашей проблемы (снимок рабочего стола в момент ошибки) и прикрепите принтскрин в теме.
- укажите наименование и/или номер ошибки.
- подробно опишите алгоритм Ваших действий при выполнении поставленной задачи

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Не работает /search/
leksti
сообщение 18.4.2014, 17:54
Сообщение #1


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Не работает /search/. При нажатии на кнопку "Искать" выдаёт белую страницу.
Решил потестировать, добавил в форму @searchTarget@. Теперь, если выбрать поиск по страницам, всё работает, а если по новостям или "Везде", всё та же белая станица.
Что это может быть?
Форма поиска (search_page_list.tpl):
Код
<div class="nopad">    
<div style="margin:10px auto 20px;"><span class="breadcrumbs pathway"><a class="pathway" href="/">Главная</a> <img alt="" src="images/arrow.png" /> Поиск</span></div><br/>
<div class="componentheading">Поиск</div>
<table class="blog" cellpadding="0" cellspacing="0"><tr><td valign="top">
<div>
<table class="contentpaneopen"><tr><td valign="top" colspan="2">

<div id="allspec" style="margin-top: 5px">
<form method="post" name="forma_search" action="/search/">    
<table cellpadding="0" cellspacing="0">
<tr>
    <td>
    Введите слово:<br>
    <input style="WIDTH:300px" maxLength="100" name="words" value="@searchString@" />
    </td>

    <td>
    <div style="padding-left:7px; padding-top:8px">
    <input type="submit" value="Искать" class="button" />
    </div>
    </td>
</tr>
</table>
</form></div>
<div style="height:15px">&nbsp;</div>
@productPageDis@

</td></tr></table>
<span class="article_separator">&nbsp;</span></div>
</td></tr></table>
</div>


main_search_forma.tpl
Код
    <table  border="0" cellpadding="0" cellspacing="5" width="100%"  class="text_1">
    <tr>
    <td  colspan="2" style="color:000000"><b class="style7">@pageTitle@</b><br />
     @pageNumN@
    </td>
</tr>
        <tr>
            <td>
                
        <b>@productNum@</b>. <a href="/@pageFrom@/@pageLink@"  class="style11"  title="@productName@">@productName@</a><br />
@productKey@...<br />
    
            </td>
        </tr>
        <tr>
            <td style="text-align: justify" class="text_1">@productDes@
            </td>
        </tr>
    </table>


search.core.php обновлён до последнего варианта.

Что это может быть? Какой-то косяк, связанный с новостями? Раньше-то работало всё.
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 19.4.2014, 13:24
Сообщение #2


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



белый экран - фатальная ошибка, смотри логи php. Видимо, какой-то функции не хватает или библиотеки. Само собой сломаться ничего не может.
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 20.4.2014, 18:28
Сообщение #3


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(Dennion @ 19.4.2014, 14:24) *
белый экран - фатальная ошибка, смотри логи php. Видимо, какой-то функции не хватает или библиотеки. Само собой сломаться ничего не может.

Вот единственная повторяющаяся строка из лога:
Код
[20-Apr-2014 19:21:40] PHP Fatal error:  Call to a member function set() on a non-object in /public_html/phpshop/modules/seourl/inc/elements.inc.php on line 135


Вот, собственно, эти строки. 135-я строка начинается с $obj:
Код
function searchnews_hook($obj,$row) {

    $obj->set('pageLink',$row['seo_name'].'.html');

}


Я, собственно, залил файлы все чистые с из архива установочного, только конфиг настроил. Ну, и база не родная, а с основного сайта готовая. Версия скрипта и там, и там последняя. Всё подтвердилось, не работает именно поиск по новостям, но почему?
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 21.4.2014, 9:34
Сообщение #4


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



А в elements.inc.php есть метод set() ?
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 21.4.2014, 11:07
Сообщение #5


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(Dennion @ 21.4.2014, 10:34) *
А в elements.inc.php есть метод set() ?

Я посмотрю, спасибо за ответ.
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 9.8.2014, 19:41
Сообщение #6


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(leksti @ 21.4.2014, 12:07) *
Я посмотрю, спасибо за ответ.

Сломал уже голову. Значит так, поиск начинает работать, если я закомментирую "searchnews_hook" в модуле SeoUrl, а в search.core.php прописать
Код
$this->set('pageLink',"ID_".$row['seo_name'].".html");
.
Получается, что не работает хук? Почему?
PHP Fatal error: Call to a member function set() on a non-object in /public_html/phpshop/modules/seourl/inc/elements.inc.php on line 135
Но я проверил, файл ничем не отличается от заводского.
Я залил все новые файлы, установил новую версию модуля, старой осталась только остальная база. И не работает. Но ведь база, начиная с версии 3.4 не обновлялась? Не могу понять, в чём проблема. И она именно касается новостей.
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 11.8.2014, 10:47
Сообщение #7


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



В хуке вместо $this нужно писать $obj и чтобы она же была в аргументах функции.
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 11.8.2014, 18:01
Сообщение #8


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(Dennion @ 11.8.2014, 11:47) *
В хуке вместо $this нужно писать $obj и чтобы она же была в аргументах функции.

Вы меня неправильно поняли - я вообще закомментировал хук в модуле сеоурл, а в файле /phpshop/core/search.core.php я уже заменил значение, и начало работать. Т.е., для поиска сеоурл отключён вообще.
Я акцентирую внимание на том, что у меня за полностью заводском скрипте не работает. С моей базой, даже, если я переустановлю модуль.

И кстати, ещё один косяк в search - список найденных страниц прописывается с /page/ при включённом seourl.

UPD: http://cms.phpshopcms.ru/search/ - смотрите, здесь такая же проблема. Если выбрать "страницы" и ввести слово phpshop - ищет. Если "везде" или "новости" - белая страница. В общем, дело в ядре или модуле!
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 12.8.2014, 9:55
Сообщение #9


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Нужно заменить функцию

Код
function searchnews_hook($obj,$row,$rout) {
    if($rout == 'MIDDLE')
        $GLOBALS['SysValue']['other']['pageLink']='ID_'.$row['seo_name'].'.html';

}


Я пока не понял почему она так ведет себя, но этот вариант точно пашет.
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 12.8.2014, 15:56
Сообщение #10


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(Dennion @ 12.8.2014, 10:55) *
Нужно заменить функцию

Код
function searchnews_hook($obj,$row,$rout) {
    if($rout == 'MIDDLE')
        $GLOBALS['SysValue']['other']['pageLink']='ID_'.$row['seo_name'].'.html';

}


Я пока не понял почему она так ведет себя, но этот вариант точно пашет.

Работает. Спасибо!

А как насчёт ссылок вида урл/page/страница вместо урл\страница? Появляется в результатах поиска, если навести мышкой на ссылку.
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 12.8.2014, 16:52
Сообщение #11


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Обновить модуль.
Прикрепленные файлы
Прикрепленный файл  seourl.zip ( 21,82 килобайт ) Кол-во скачиваний: 72
 
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 13.8.2014, 0:56
Сообщение #12


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(Dennion @ 12.8.2014, 17:52) *
Обновить модуль.

Ок. Осталось одно - не работает вот это:
"Ничего не найдено
Если вы не нашли нужную информацию, воспользуйтесь картой сайта"
в случае, если введено слово, которого на сайте нет. В версии 34203, например, это работает, а в наших новых - просто пустая страница.
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 13.8.2014, 11:26
Сообщение #13


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



phpshop/core/search.core.php заменить строку 130

Код
$this->add($message);


на

Код
$this->add($message,true);
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 14.8.2014, 14:27
Сообщение #14


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(Dennion @ 13.8.2014, 12:26) *
phpshop/core/search.core.php заменить строку 130

Код
$this->add($message);


Такой строки в принципе нет. А на 130-й строке в последней версии пусто. Наверное, вырезали функцию?
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 14.8.2014, 15:23
Сообщение #15


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



170 строка..опечатался
Код
/**
     * Экшен выборки информации поиска при наличии переменной $_POST[words]
     * Поиск по страницам и новостям
     */
    function words() {

        // Проверка на плохие символы
        $this->words=PHPShopSecurity::TotalClean($_POST['words'],4);

        switch($_POST['target']) {

            case 'a':
                $i = $this->searchpage() + $this->searchnews();
                break;

            case 'b':
                $i = $this->searchpage();
                break;

            case 'c':
                $i = $this->searchnews();
                break;

            default:
                $i = $this->searchpage() + $this->searchnews();
        }

        $this->set('searchString',$this->words);

        // Подключаем шаблон
        if($i==0) {
            $message=PHPShopText::h3(__('Ничего не найдено'));
            $message.=PHPShopText::div(__('Если вы не нашли нужную информацию, воспользуйтесь').' '.
                    PHPShopText::a('../map/',__('картой сайта'),__('картой сайта')),
                    $align="left",$style="padding:5;border-style: dashed;border-width: 1px;border-color:#D3D3D3");
            $this->add($message,true); //!!!!!!!!!!!!!!!!!!!!!!!!
        }
Перейти в начало страницы
 
+Цитировать сообщение
leksti
сообщение 14.8.2014, 16:10
Сообщение #16


Активный участник
***

Группа: Модератор
Сообщений: 525
Регистрация: 27.12.2010
Из: Санкт-Петербург
Пользователь №: 736



Цитата(Dennion @ 14.8.2014, 16:23) *
Код
$this->add($message,true); //!!!!!!!!!!!!!!!!!!!!!!!!

Всё, теперь точно всё работает. Большое спасибо!
Перейти в начало страницы
 
+Цитировать сообщение
LimonYa
сообщение 20.1.2015, 13:35
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 79
Регистрация: 13.4.2010
Пользователь №: 391



обновлением всё разрешилось
Перейти в начало страницы
 
+Цитировать сообщение
saa@actorc.ru
сообщение 22.4.2017, 0:31
Сообщение #18


Активный участник
***

Группа: Пользователи
Сообщений: 47
Регистрация: 18.4.2017
Пользователь №: 4570
Версия CMS Free: 5.3.0
Создано сайтов: 1



Цитата(LimonYa @ 20.1.2015, 13:35) *
обновлением всё разрешилось

А можно еще раз для версии 5.1.9 - как сделать, чтобы работал поиск - сейчас там белый лист выдает вместо результатов
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 24.4.2017, 15:08
Сообщение #19


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Цитата(saa@actorc.ru @ 22.4.2017, 0:31) *
А можно еще раз для версии 5.1.9 - как сделать, чтобы работал поиск - сейчас там белый лист выдает вместо результатов

Дайте пожалуйста больше информации что не работает.
Перейти в начало страницы
 
+Цитировать сообщение
saa@actorc.ru
сообщение 24.4.2017, 17:42
Сообщение #20


Активный участник
***

Группа: Пользователи
Сообщений: 47
Регистрация: 18.4.2017
Пользователь №: 4570
Версия CMS Free: 5.3.0
Создано сайтов: 1



Цитата(Dennion @ 24.4.2017, 15:08) *
Дайте пожалуйста больше информации что не работает.


Попробуйте найти скажем Трос на сайте http://trocik.ru/ по кнопке Поиск.
Тросы в прайс-листе имеются.

Вместо результатов отображается полностью белый экран.
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 14.10.2019, 9:03