Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Где изменить значения {$INPUT_SEARCH}

Кароче не могу натянуть свой поиск на shopos!
Если в файле /boxes/box_search.html удалить тег {$INPUT_SEARCH}, то пропадает эта табличка и поиск не работает!
Если её оставить то вот эта табличка которая мне не нужна! где изменить значения этого тега {$INPUT_SEARCH} что бы изменить вид ипита на свой!
Где изменить значения {$INPUT_SEARCH}


\themes\шаблон\source\boxes\search.php


А как туда мой поиск вставить  ???

<form method="get" action="">
<fieldset>
<legend>Quick Search</legend>
<input id="s" type="text" name="s" value="" /><input id="x" type="submit" value="Search" />
<input id="x" type="submit" value="Search" />
</fieldset>
</form>


вставил так
$box->assign('INPUT_SEARCH', os_draw_input_field('<input id="s" type="text" name="s" value="" /><input id="x" type="submit" value="Search" />'));
Но нечего неизменилось только пропала надпись "найти в магазине"
:-[

/////////___________///////////////

Так как изменить вид инпита в поиске?


ПИПЕЦ админы зделайте новую версию что бы всё понятно и ясно было, на дле я натянул шаблон за 2 часа, а тут пипец нечего не понятно! всё запутанно  >:(



ПИПЕЦ админы зделайте новую версию что бы всё понятно и ясно было, на дле я натянул шаблон за 2 часа, а тут пипец нечего не понятно! всё запутанно  >:(


есть же описание

http://docs.shopos.ru/?id=11_1

какой шаблон за что отвечает

тем более структура шаблона не уникальная

xt:commerce, vamshop


сравнивать дле и шопос - смысла НЕТ, ибо движки ну совсем разные.

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



сравнивать дле и шопос - смысла НЕТ, ибо движки ну совсем разные.

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


ну почему. шаблонную систему можно сделать более похожуу

просто если бы в dle нужно было для верстки шаблона править ~100 файлов - думаю тоже было бы долго


Править не сложно. Сложно изначально понять что и где и как работает.
В данном случае ТС совсем не понимает как и что работает, не может понять и ругается)


ну почему. шаблонную систему можно сделать более похожуу


ради чего ? )
Проще просто уменьшить файлов и сделать чистый шаблон с понятной версткой и комментариями к коду.

Правда формы действительно не удобно сделаны. Зачем-то все в php файлах. Когда простой input в шаблоне был бы проще для понимания у новичков, чем какой-то INPUT_SEARCH, непонятно как работающий.

to TC - $box->assign('INPUT_SEARCH', '<input id="s" type="text" name="s" value="" /><input id="x" type="submit" value="Search" />');
вот так нужно.

вообще не понятно, почему бы не стилизировать то что уже есть, а не пихать что-то свое.


>>Так как изменить вид инпита в поиске?
Что именно нужно изменить??

У вас есть
$box->assign('INPUT_SEARCH', os_draw_input_field('keywords', '', 'onkeyup="ajaxQuickFindUp(this);" id="quick_find_keyword"'));

Нужно добавить класс?
$box->assign('INPUT_SEARCH', os_draw_input_field('keywords', '', 'class="search-box" onkeyup="ajaxQuickFindUp(this);" id="quick_find_keyword"'));

вот для стилизации .search-box в css и использовать.

os_draw_input_field - функция PHP, которая делает это поле.

Если нужно готовое HTML форма поиска - в исходном коде страницы выдерните ее и вставляйте просто в boxes/box_search.html без всяких INPUT_SEARCH.


Если нужно готовое HTML форма поиска - в исходном коде страницы выдерните ее и вставляйте просто в boxes/box_search.html без всяких INPUT_SEARCH.


да можно и без блоков

просто в index.html вставить


NeBox Вы точно Хаус, всё понимаете знаите как нужно зделать, и какие трудности у новичка могут получиться, Без вас этот форум бы не выжил,  а в shopos 100% нужно что то делать что бы облехчить работу с шаблонами! Прогресируйте не сидите на одном месте! Движок сидит на одном месте и с каждой новой версии толком нечего нового нету!


а в shopos 100% нужно что то делать что бы облехчить работу с шаблонами!


например как?



а в shopos 100% нужно что то делать что бы облехчить работу с шаблонами!


например как?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
{headers}
<link rel="shortcut icon" href="{THEME}/images/favicon.ico" />
<link media="screen" href="{THEME}/style/styles.css" type="text/css" rel="stylesheet" />
<link media="screen" href="{THEME}/style/engine.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="{THEME}/js/libs.js"></script>
</head>
<body>
{AJAX}
<div id="toolbar" class="wwide">
<div class="wrapper"><div class="dpad">
<span class="htmenu"><a href="#" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://dle-news.ru');">Сделать домашней</a><span>|</span><a href="#" rel="sidebar" onclick="window.external.AddFavorite(location.href,'dle-news.ru'); return false;">Добавить в избранное</a></span>
{login}
</div></div>
<div class="shadow">&nbsp;</div>
</div>
<div class="wrapper">
<div id="header" class="dpad">
<h1><a class="thide" href="/index.php" title="DataLife Engine - Softnews Media Group">DataLife Engine - Softnews Media Group</a></h1>
<form action="" name="searchform" method="post">
<input type="hidden" name="do" value="search" />
<input type="hidden" name="subaction" value="search" />
<ul class="searchbar reset">
<li class="lfield"><input id="story" name="story" value="Поиск..." onblur="if(this.value=='') this.value='Поиск...';" onfocus="if(this.value=='Поиск...') this.value='';" type="text" /></li>
<li class="lbtn"><input title="Найти" alt="Найти" type="image" src="{THEME}/images/spacer.gif" /></li>
</ul>
</form>
<div class="headlinks">
<ul class="reset">
<li><a href="/index.php">Главная</a></li>
<li><a href="/index.php?do=register">Регистрация</a></li>
<li><a href="/index.php?do=feedback">Контакты</a></li>
<li><a href="/index.php?do=rules">Правила</a></li>
</ul>
</div>
</div>
<div class="himage"><div class="himage"><div class="himage dpad">
<h2>Многопользовательский новостной движок,<br />
предназначенный для организации собственных<br />
СМИ и блогов в интернете.</h2>
</div></div></div>
<div class="mbar" id="menubar"><div class="mbar"><div class="mbar dpad">
<div class="menubar">
{include file="topmenu.tpl"}
</div>
</div></div></div>
<div class="wtop wsh"><div class="wsh"><div class="wsh">&nbsp;</div></div></div>
<div class="shadlr"><div class="shadlr">
<div class="container">
<div class="vsep">
<div class="vsep">
<div id="midside" class="rcol">
{speedbar}
<div class="hbanner">
<div class="dpad" align="center">{banner_header}</div>
<div class="dbtm"><span class="thide">на правах рекламы</span></div>
</div>
<div class="sortn dpad"><div class="sortn">{sort}</div></div>
{info}
{content}
</div>
<div id="sidebar" class="lcol">
{include file="sidebar.tpl"}
</div>
<div class="clr"></div>
</div>
</div>
<div class="footbox">
<div class="rcol">
<div class="btags">
{tags}
<div class="shadow">&nbsp;</div>
</div>
</div>
<div class="lcol">
<p>Уважаемые вебмастера, Вы<br />
просматриваете тестовую страницу<br />
<b>DataLife Engine</b>.<br />
Текущая версия 9.2.</p>
</div>
</div>
</div>
</div></div>
<div class="wbtm wsh"><div class="wsh"><div class="wsh">&nbsp;</div></div></div>
</div>
<div id="footmenu" class="wwide">
<div class="wrapper"><div class="dpad">
<ul class="reset">
<li><a href="/index.php">Главная страница</a></li>
<li><a href="/index.php?do=register">Регистрация</a></li>
<li><a href="/addnews.html">Добавить новость</a></li>
<li><a href="/newposts/">Новое на сайте</a></li>
<li><a href="/statistics.html">Статистика</a></li>
<li><a href="http://dle-news.ru">Поддержка скрипта</a></li>
</ul>
</div></div>
<div class="shadow">&nbsp;</div>
</div>
<div id="footer" class="wwide">
<div class="wrapper"><div class="dpad">
<span class="copyright">
Copyright &copy; 2004-2011 <a href="http://dle-news.ru">SoftNews Media Group</a> All Rights Reserved.<br />
Powered by DataLife Engine &copy; 2011
</span>
<div class="counts">
<ul class="reset">
<li><img src="{THEME}/images/count.png" alt="count 88x31px" /></li>
<li><img src="{THEME}/images/count.png" alt="count 88x31px" /></li>
<li><img src="{THEME}/images/count.png" alt="count 88x31px" /></li>
</ul>
</div>
<div class="clr"></div>
</div></div>
</div>
</body>
</html>


только

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
{headers}
<link rel="shortcut icon" href="{THEME}/images/favicon.ico" />
<link media="screen" href="{THEME}/style/styles.css" type="text/css" rel="stylesheet" />
<link media="screen" href="{THEME}/style/engine.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="{THEME}/js/libs.js"></script>
</head>



head только не хватает?

все же остальное так же на метках+html коде реализовано
+ блоки вынесены в отдельные шаблоны


Это все не то и не нужно совсем!!

ничего не сделать.
Шаблонизатор - почти так же как в ДЛЕ. готовые метки которые что-то выводят...
Количество файлов? можно уменьшить (по моим подсчетам) штук на 10-15. Но количество кода особо не уменьшится
В любом случае главное на общем уровне понимать как работает шаблонизатор. Все остальное - обычные HTML + CSS.
Документация по шаблону есть. Там указано что и где выводится. Нужно только почитать и поковыряться в шаблоне.
Имхо, ничего менять не нужно.

Делать что-то в упрощение ради того, чтобы несколько человек поняли как и что делается - нет смысла. Есть доки - читайте, изучайте, разбирайтесь.



Это все не то и не нужно совсем!!

ничего не сделать.
Шаблонизатор - почти так же как в ДЛЕ. готовые метки которые что-то выводят...
Количество файлов? можно уменьшить (по моим подсчетам) штук на 10-15. Но количество кода особо не уменьшится
В любом случае главное на общем уровне понимать как работает шаблонизатор. Все остальное - обычные HTML + CSS.
Документация по шаблону есть. Там указано что и где выводится. Нужно только почитать и поковыряться в шаблоне.
Имхо, ничего менять не нужно.

Делать что-то в упрощение ради того, чтобы несколько человек поняли как и что делается - нет смысла. Есть доки - читайте, изучайте, разбирайтесь.


Вы думаите все такие профи как вы?))
Самое главное в движке это делать максимально удобно!


А что собственно не понятно то в шаблонах?
Модули - модули в центре страницы
Боксы - блоки с левой с правой стороны.
для стилей style.css, для подключения своих стилий и скриптов есть плагины и файл general.js.php.
Что еще нужно то?)


>>Самое главное в движке это делать максимально удобно!
Все удобно сделано. Если вы не понимаете структуру и способ работы шаблона и шаблонизатора - то учите мат часть. шаблонизатор smarty.net
ссылка на доки вам выше дали.


Ну ладно извините что уш так придрался к движку, Движок сам по себе хороший а главное что можно бесплатно пользоваться!


Что за баг??
после тово как я положил товар в корзину нажимаю оформить, жму продолжить выходит ошибка
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\themes\roundhouse\source\boxes\search.php:1) in Z:\home\test1.ru\www\includes\functions\include.php on line 1226!

Ошибка в этом $box->assign('INPUT_SEARCH', os_draw_input_field('keywords', '', 'id="box" onkeyup="ajaxQuickFindUp(this);" id="quick_find_keyword"'));
Когда встовляю стандартный  код всё нормально!
$box->assign('INPUT_SEARCH', os_draw_input_field('keywords', '', 'id="box" onkeyup="ajaxQuickFindUp(this);" id="quick_find_keyword"'));
что тут не правельно зделанно?


themes\roundhouse\source\boxes\search.php - сохранить в кодировке UTF8 БЕЗ БОМ.


ПОЧЕМУ КОГДА ВОТ ТАК

<div id="search"><form method="get" action="">
<fieldset>
<legend>Quick Search</legend>
{$box_SEARCH}
</fieldset>
</form></div>

Поиск не работает!
а когда вот так
<div id="search">
{$box_SEARCH}
</div>

ТО работает!
почему в форме не работает?


а вы стандартную форму убрали?



а вы стандартную форму убрали?

Так к этому чуть позже вернёмся! ешё вот эта проблема не решенна!
Оформляю заказ нажимаю продолжить у меня ошибка
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\themes\roundhouse\source\boxes\search.php:1) in Z:\home\test1.ru\www\includes\functions\include.php on line 1226


ТУТ \themes\шаблон\source\boxes\search.php у меня стоит так как вы сказали
<?php
/*
#####################################
# ShopOS: Скрипты интернет-магазина
#  Copyright (c) 2008-2010
# http://www.shopos.ru
# Ver. 1.0.1
#####################################
*/

$box = new osTemplate;
$box->assign('tpl_path', _HTTP_THEMES_C);
$box_content = '';

$box->assign('FORM_ACTION', os_draw_form('quick_find', os_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false), 'get').os_hide_session_id());
$box->assign('INPUT_SEARCH', os_draw_input_field('keywords', '', 'class="search-box" onkeyup="ajaxQuickFindUp(this);" id="quick_find_keyword"'));
// Мы не любим такие кнопки!
//$box->assign('BUTTON_SUBMIT', os_image_submit('button_quick_find.gif', IMAGE_BUTTON_SEARCH));
$box->assign('FORM_END', '</form>');
$box->assign('LINK_ADVANCED', os_href_link(FILENAME_ADVANCED_SEARCH));
$box->assign('BOX_CONTENT', $box_content);

$box->assign('language', $_SESSION['language']);
// set cache ID
if (!CacheCheck()) {
$box->caching = 0;
$box_search = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_search.html');
} else {
$box->caching = 1;
$box->cache_lifetime = CACHE_LIFETIME;
$box->cache_modified_check = CACHE_CHECK;
$cache_id = $_SESSION['language'];
$box_search = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_search.html', $cache_id);
}

$osTemplate->assign('box_SEARCH', $box_search);
?>


Что тут не правельно? я же зделал как вы сказали....


Я вам написал - themes\roundhouse\source\boxes\search.php - сохранить в кодировке UTF8 БЕЗ БОМ.

Что вы вообще с поиском делаете? Зачем форму меняете?



Я вам написал - themes\roundhouse\source\boxes\search.php - сохранить в кодировке UTF8 БЕЗ БОМ.

Что вы вообще с поиском делаете? Зачем форму меняете?


А как его в этой кодировки сохранить? и какой именно бом убрать? О_О
Я просто хочу поменять вид инпита


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

А как его в этой кодировки сохранить? и какой именно бом убрать? О_О

яшя в помощь или по форуму ищем, уже не раз обсуждали.

все файлы в utf8 кодировке, это не ДЛЕ где вин1251.



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

А как его в этой кодировки сохранить? и какой именно бом убрать? О_О

яшя в помощь или по форуму ищем, уже не раз обсуждали.

все файлы в utf8 кодировке, это не ДЛЕ где вин1251.

Эту проблему решил  8)

Теперь как ту проблему решить?
вот чт оу меня стоит в  /themes/roundhouse/boxes/box_search.html
{config_load file="$language/lang.conf" section="boxes"}
<form method="get" action="">
<fieldset>
<legend>Quick Search</legend>
{$FORM_ACTION}
{$INPUT_SEARCH}

{$FORM_END}
</fieldset>
</form>
<a class="search-link" href="{$LINK_ADVANCED}">{#text_advanced_search#}</a>
<div class="ajaxQuickFind" id="ajaxQuickFind" style="text-align: left;"></div>
{literal}
<script language="javascript" type="text/javascript">
function ajaxQuickFind(elt) {
//if(ajaxQuickFindUpForm.keywords.value.length > 2)
loadXMLDoc('ajaxQuickFind', hashFormFields(ajaxQuickFindUpForm), true);
}
var timeout = null;
var ajaxQuickFindUpForm = null;
function ajaxQuickFindUp(elt) {
ajaxQuickFindUpForm = elt.form;
if (timeout) clearTimeout(timeout);
timeout = setTimeout('ajaxQuickFind()', 500);
}
</script>
{/literal}


вот

{$FORM_ACTION}
  <fieldset>
    <legend>Quick Search</legend>
    {$INPUT_SEARCH}
  </fieldset>
{$FORM_END}

вы бы хоть посмотрели что значат FORM_ACTION и FORM_ACTION. те же самые <form...>...</form>



вот

{$FORM_ACTION}
  <fieldset>
    <legend>Quick Search</legend>
    {$INPUT_SEARCH}
  </fieldset>
{$FORM_END}

вы бы хоть посмотрели что значат FORM_ACTION и FORM_ACTION. те же самые <form...>...</form>


Чёто не то вышло, раньше когда левое названия писал в поиск выводилось что нечего не найденно! а шас при любом наборе слове в поиске выходит
Сортировка: имя (по возрастанию) | имя (по убыванию) | цена (по возрастанию) | цена (по убыванию)
и товары все!
Это ешё что такое?


ПРОБЛЕМА В ЭТОМ файле
сохранял без БОМ в ИТФ-08
\themes\шаблон\source\boxes\search.php


Уфф проблема решенна!
Вот в чём причина

to TC - $box->assign('INPUT_SEARCH', '<input id="s" type="text" name="s" value="" /><input id="x" type="submit" value="Search" />');
вот так нужно.

Здесь вы забыли ешё добавить
'keywords', '', 'onkeyup="ajaxQuickFindUp(this);" id="quick_find_keywor

По этому поиск не реагировал!
Правельный вариант
$box->assign('INPUT_SEARCH', os_draw_input_field('keywords', '', 'input id="s" onkeyup="ajaxQuickFindUp(this);" id="quick_find_keyword"'));


Я так с вами точно скоро программистом стану!  :)


я поправил код который вы приводили))

тогда уже вот так
$box->assign('INPUT_SEARCH', os_draw_input_field('keywords', '', 'id="s" onkeyup="ajaxQuickFindUp(this);" id="quick_find_keyword"'));


и удалить id="s"



и удалить id="s"


А Зачем id="s" удалять? если это стиль инпита!


вот вы странный.
вы же правите cleanshop.
там стандартно был задан класс для стилизации class="text". к нему и цепляли бы свои стили.

Я же писал - не нужно ничего менять в коде. нужно только CSS поправить.

один id уже есть у этой формы. второй не нужно использовать!


Я свой шаб натягиваю) а все файлики блоков взял из  cleanshop


Источник



Copyright ShopOS