?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Поиск по сайту с помощью Яндекс XML - Разработка php-MyAdmin.ru</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="search.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="search.js"></script>
</head>
Можно ли это как-то все в шаблон сайта запихнуть? И сделать эту страницу как /search/index.php чтобы она выводила результаты поиска? Или наоборот, можно ли шаблон дизайна сайта подключать на этой странице?
Можно и отдельным индексным файлом сделать, но тогда в нем работать будет только поиск. Без шаблонных тегов, блоков новостей сайта, меню и пр. Если надо сделать в дизайне сайта, то надо идти через создание шаблонных тегов. В functions.php создаете функцию, в нее ставите свой РНР-код и затем шаблонным тегом запускаете в шаблоне.
До этого я уже сам допер. :) Вопрос лишь в том, что я не программист и не могу разбить этот файл на отдельные части и сделать их них шаблонные теги. Точнее просто синтаксис не осилю. Хороша у вас cms, но для людей неплохо знающих php. Но я явно не из этой категории. И комьюнити пока не сформировалось, где могли бы помочь.
search.js и search.css должны быть в корне сайта
у дива в котором основное содержание страницы стоит добавить два атрибута
class="search_div" id="search_div", нужно смотреть сам шаблон, id может быть уже указан у этого тега
Владимир, Вы действительно совсем новичек в программировании...
Ох, с чего бы начать... Смотрите, в Вашем исходном коде важны две вещи:
1. Чтобы на странице сайта был код в head
Все! Остальное будет делать скрипт search.js, который, видимо, идет в яндекс, ищет по сайту и затем просто ниже подгружает результаты поиска в слой id_search.
Значит, как это работает на странице:
при первом запуске просто выходит форма. В форме есть строковая переменная, вот эта
( Зачем там код <?php echo $sSearch_text; ?> чуть ниже объясню. )
Когда посетитель тыкает "Искать", форма сабмитится сама на себя и вызывается еще раз. Тогда в скрипт приходит переменная $_REQUEST['find']
и тогда она вверху скрипта и обрабатывается условиями "если $_REQUEST['find'] существует, то есть пользователь что-то ввел, и количество символов более 2, то удаляем html-символы и присваиваем очищенную строку переменной $sSearch_text.
Затем ниже выводится снова форма и уже срабатывает код
Код
value="<?php echo $sSearch_text; ?>"
для того, чтобы вывести в строке поиска то самое, что пользователь ищет.
И еще ниже срабатывает конструкция
Код
<?php
if (!empty($sSearch_text)) echo 'Search_onsubmit(1)' . "\n";
?>
которая просто выводит на сайт строку Search_onsubmit(1), если не пустая поисковая строка. Эта Search_onsubmit(1) - это запуск JS, который грузит результаты поиска с Яндекса в слой....
Понимаете логику?
То есть, как сделать все проще?
1. Вы создаете страницу сайта, называете ее "Поиск по сайту яндексом". В "Дополнительно" в поле "Java Script" вписываете
Виталий, огромное спасибо! Сложно описать, как Вы меня выручили.
Но я конечно затупил по страшному. Самый просто вариант и не увидел, даже и знаю что меня так заклинило. :( Мне все гораздо сложнее представлялось.
Наверное все таки не хватает подобных примеров в документации. Увидел бы нечто подобное, не тормозил бы так. Еще раз спасибо!
Как раз сейчас плотно работаем надо документацией, последние дни выкладываем on-line, уже почти все обновили. В ближайшие дни будем насыщать примерами текущие разделы документации, а также примемся за практический раздел. Кстати, велкам в тему, накидайте еще пунктов, что нам надо осветить, с чем у Вас были загвоздки
В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.