Вход • Регистрация

Всего найдено: 5656

  • 16 октября 2012 г.
  • Не-не, Евгений, наоборот
    Код
    $this->result["descr"] = strip_tags(str_replace('"', '', ($row['anons'])));

    Сначала кавычки, а затем strip_tags, потому, что после strip_tags_tags они превращаются в "
    Ну или тогда уж так:
    Код
    $this->result["descr"] = str_replace('"', '', (strip_tags($row['anons'])));
  • 15 октября 2012 г.
  • Здра-а-а-асьте! А чего ж Вы, Азат, молчите столько лет? Эта "ерунда" у нас с 4.1 кочует...
    Ну аргументируйте, почему это проблема-то?
    А также поясните, почему на том же yandex.ru один и тот же адрес что для регистрации, что для редактирования своих данных http://passport.yandex.ru/passport ?
  • 15 октября 2012 г.
  • Какое-то нескладное обвинение у Вас, Азат Нестыкуется, что в модуле магазин мы не ленимся, а в страницах регистрации почему-то поленились вдруг. Если бы мы ленились, мы бы, наверное, ленились бы в магазине, а не в регистрации, там лениться выгоднее А то какая-то выборочная лень, не бывает так
    Цитата
    в обычных проектах не мешает
    Вот это похоже на правду. Не сделали, потому, что не мешает, работает и всех устраивает, раз все молчат. И это не мы придумали, а у Яндекса вон тоже так. С чем соглашусь, так это с заголовками, у Яндекса там нормально... Упустили.
  • 16 октября 2012 г.
  • Цитата
    3. Кивать на Яндекс не нужно, это как в школе «все двойку получили!».
    А, т.е. Вы, Азат, берете на себя смелость утверждать, что Яндекс сделал неправильно, подражанию он не достоин, Лебедев сделал сайт несерьезный, а Вы один знаете, как должно быть и все должны безоговорочно делать так, как сказали Вы? Понятно. Окей.
  • 16 октября 2012 г.
  • Да я самый добрый в мире человек! Но мы должны быть уверены, что всё четко и конкретно. А иначе что бы это было? На любое сообщение "Да, ребята", "Хорошо, ребята", "Как скажете, ребята" - слишком сладко. Я тогда точно не нужен был бы на форуме
  • 15 октября 2012 г.
  • Шаблонные теги работают только в основных шаблонах сайта (папка /themes/). В шаблоны модулей их вставлять нельзя. В шаблонах модулей обычный РНР код. Там только через include можно файл другого модуля заинстерить и затем его функции использовать
  • 15 октября 2012 г.
  • 5.1 имеете ввиду? Там же название товара - это Н1 на странице. То, что выводит show_body(). Оно регулируется "Не копировать название в Н1", для страницы, куда подключен модуль магазина. Если поставить галку, тогда ни у одного товара не будет показываться название Н1.
    Так вот, это обычный Н1 для show_body. В моделе modules/shop/shop.model.php глобальная переменная titlemodule присваивается
    Код
    $this->result["titlemodule"] = $row["name"];
    на 911 строке
    И все, этого достаточно, чтобы системная функция show_body() из includes/function.php вывела Н1 в 65 строке.
    Можно оформление поправить там, но беда в том, что эта функция выводит заголовок для всех страниц сайта. Поэтому можете галкой "Не копировать название в Н1" для магазина поставить, а переменную $row["name"] из модели передавать во view и там уже выводить где надо самстоятельно.
  • 15 октября 2012 г.
  • Два пользователя диафан? Хм. Может скрин сделаете? По умолчанию пользователей нет. Или Вы сделали, или может Вы обращались в техподдержку, и они его сделали и удалить не удалили. Не знаю даже, что предположить...
  • 15 октября 2012 г.
  • Ну можно же просто характеристики типа цвета сделать "Доступен к выбору при заказе". А для пуговиц галку "Зависит от цены". Тогда от цвета цена не будет зависеть, а от пуговиц будет. Ну а для количества пары надо с модулем "Скидки" экспериментировать. Там можно поштучно скидки назначать, для отдельных товаров.
  • 14 октября 2012 г.
  • Можно и отдельным индексным файлом сделать, но тогда в нем работать будет только поиск. Без шаблонных тегов, блоков новостей сайта, меню и пр. Если надо сделать в дизайне сайта, то надо идти через создание шаблонных тегов. В functions.php создаете функцию, в нее ставите свой РНР-код и затем шаблонным тегом запускаете в шаблоне.
  • 15 октября 2012 г.
  • Владимир, Вы действительно совсем новичек в программировании...
    Ох, с чего бы начать... Смотрите, в Вашем исходном коде важны две вещи:
    1. Чтобы на странице сайта был код в head
    Код
    <script type="text/javascript" src="search.js"></script>

    2. Чтобы в теле сайта, где нужно Вам, была форма <div>
    Код
    <form method="post" action="" onsubmit="javascript:Search_onsubmit(1); return false;">
    <div>
    <input type="text" id="search_text" value="<?php echo $sSearch_text; ?>" maxlength="100" size="50" />
    <input type="submit" id="search_submit" value="Искать" />
    </div>
    </form>
    <noscript>Для работы поиска включите в браузере JavaScript.</noscript>
    <div class="search_div" id="search_div"></div>
    <script type="text/javascript">
    <!--
    document.onkeydown = L_page_onkeydown;
    <?php
    if (!empty($sSearch_text)) echo 'Search_onsubmit(1)' . "\n";
    ?>
    //-->
    </script>
    </div>

    Все! Остальное будет делать скрипт search.js, который, видимо, идет в яндекс, ищет по сайту и затем просто ниже подгружает результаты поиска в слой id_search.
    Значит, как это работает на странице:
    при первом запуске просто выходит форма. В форме есть строковая переменная, вот эта
    Код
    <input type="text" id="search_text" value="<?php echo $sSearch_text; ?>" maxlength="100" size="50" />

    ( Зачем там код <?php echo $sSearch_text; ?> чуть ниже объясню. )
    Когда посетитель тыкает "Искать", форма сабмитится сама на себя и вызывается еще раз. Тогда в скрипт приходит переменная $_REQUEST['find']
    Код
    $sSearch_text = (isset($_REQUEST['find']) && strlen($_REQUEST['find']) > 2)
    ? htmlspecialchars($_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" вписываете
    Код
    <script type="text/javascript" src="search.js"></script>

    А в поле контента в визуалььном редакторе в HTML-источник вписываете
    Код
    <insert name="moi_poisk">
    (Такого тега пока нет, мы его создадим ниже)
    2. Идете в function.php
    и там создаете функцию moi_poisk()
    где пишете:
    Код
    moi_poisk(){
    $sSearch_text = (isset($_REQUEST['find']) && strlen($_REQUEST['find']) > 2)
    ? htmlspecialchars($_REQUEST['find']) : '';
    ?>
    <!-- Поиск. Начало. -->
    <div>
    <form method="post" action="" onsubmit="javascript:Search_onsubmit(1); return false;">
    <div>
    <input type="text" id="search_text" value="<?php echo $sSearch_text; ?>" maxlength="100" size="50" />
    <input type="submit" id="search_submit" value="Искать" />
    </div>
    </form>
    <noscript>Для работы поиска включите в браузере JavaScript.</noscript>
    <div class="search_div" id="search_div"></div>
    <script type="text/javascript">
    <!--
    document.onkeydown = L_page_onkeydown;
    <?php
    if (!empty($sSearch_text)) echo 'Search_onsubmit(1)' . "\n";
    ?>
    //-->
    </script>
    </div>
    <!-- Поиск. Конец. -->
    <?
    }


    Все.
  • 16 октября 2012 г.
  • Как раз сейчас плотно работаем надо документацией, последние дни выкладываем on-line, уже почти все обновили. В ближайшие дни будем насыщать примерами текущие разделы документации, а также примемся за практический раздел. Кстати, велкам в тему, накидайте еще пунктов, что нам надо осветить, с чем у Вас были загвоздки
  • 16 октября 2012 г.
  • В документацию все внесли, всю сухую теорию. Теперь будем насыщать практическими примерами. И будет в документации возможность всем пользователям прикладывать свои примеры, как на РНР Так что надеюсь это значительно облегчит всем жизнь
  • 11 октября 2012 г.
  • Владимир, пихайте все в function.php
    Код
    public function show_question()
    {
    include_once(ABSOLUTE_PATH.'LittlePoll/lp_source.php');
    echo $question; //если эта переменная там в инклюдном пхпшнике определяется
    }


    Затем в шаблоне просто:
    Код
    <insert name="show_question">
  • 11 октября 2012 г.
  • Все шурупьте в function.php, весь код туда. А затем вызывайте его тегом на сайте, где надо.
    Только если там переменная $votingstep из браузера из адресной строки передается, ее надо переделать в $_GET["votingstep"]
  • 11 октября 2012 г.
  • Цитата
    реально не хватает банальной защиты от случайного повторного голосования
    Владимир, случайное повторное голосование, это когда страницу обновили случайно, и голос зачелся. Сейчас сессия встроенная в голосование у нас так сделать не даст. А когда пользователь меняет браузер и идет еще раз голосовать - это уже не случайно
  • 13 октября 2012 г.
  • Ну сделайте второй тег public function show_question_first() и ставьте один тег в начале шаблона, второй в конце. Просто помните, что если переменные передаются через адресную строку, их принимать надо как $_GET[]. А если какие-то переменные передаются из функции в функцию, делайте их глобальными.
    Код
    global $votingstep;
  • 13 октября 2012 г.
  • Владимир, по-моему, Вы слишком педантичны и многие проблемы придумываете себе сами... Если кто-то увидел интересный опрос, думает "О, проголосую". Проголосовал и увидел "Ваш голос зачтен" - всё! У него отметилось "я проголосовал" и на другой день это не забудется! Все прекрасно помнят, что они делали вчера, особенно, если то ответ на какой-то интересный опрос. И если посетитель увидит этот же вопрос и комбобоксы - это не повод думать "А-а-а-а, голосовал я вчера или нет? Ох-ох, это же снова комбобоксы! Ой-ой, сайт меня не запомнил и я опять обязан голосовать! Ох-ох, эти комбококсы меня так манят, так манят снова по ним кликнуть" Любой посетитель подумает "Ну я вчера отвечал уже на этот вопрос, видимо, сайт собирает ответы других посетителей и если я тыкну, скорее всего увижу "Вы уже голосовали". Пойду спокойно дальше." И все! А то и вообще не заметит этот опрос, так как это инструмент на сайте чисто импульсный, не особо важный. У меня на одном сайте посещаемость порядка 1000 человек в день. И за два года там было около 700.000 человек. А на интересном опросе, который на видном месте, стоит "Проголосовало 700 человек". Т.е. голосует 1/1000, это 0.1%
    Проголосовал-Закрыл браузер-Открыл снова-Могу голосовать - так только один человек на Вашем сайте делает! Вы!
    Потом Вы скажете "Фигня, я проголосовал, закрыл браузер, почистил куки, переустановил Windows, сменил провайдера, захожу снова - могу голосовать"
  • 14 октября 2012 г.
  • С поиском мы вопрос закрывали. Им пользуются явно больше людей и мы этот модуль развиваем. Собственно, ничего против опросов тоже не имеем, я просто личное мнение высказал по Вашей аргументации. Что пользователи браузер открыли/закрыли и смотрят как бараны на новые ворота :-)

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум