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

Как добавить код в шаблон

  • 10 октября 2012 г.
  • А вот как такое в шаблон добавить:
    Код
    <?php $id="Poll_ID"; include(poll.php); ?>

    Через function.php не очень красиво, это придется файл данный редактировать. Шаблон как-то более разумно редактировать.
    • 10 октября 2012 г.
    • Вставляйте через блок, но если в poll.php не элемент дизайна а вычислительные процессы то смысла нет и через блок (вроде бы). По любому придётся править function.php. Или создавать модуль если не хотите в function.php, но в этом случае чуть больше работы.
      • 10 октября 2012 г.
      • poll.php это не элемент дизайна. Что-то задумался, как это вставить даже через function.php?
  • 10 октября 2012 г.
  • Люди добрые, как это все в диафан запихнуть:

    Цитата
    Now that the poll itself is working, it's
    time to implement it into your site. Paste
    the following code above the <html> tag in
    your site (so really above everything else):

    <?php include("lp_source.php"); ?>

    Where you want the poll to be in your page,
    add the following lines of code:

    <?php if($votingstep==1) { echo($step1str); }
    if($votingstep==2) { echo($step2str); }
    if($votingstep==3) { echo($step3str); }
    ?>

    Where you want the question to be in the
    page, add the following line of code:

    <?php echo($question); ?>

    If you want to show the total number
    of votes, add the following line:

    <?php echo($totalvotes); ?>
    • 10 октября 2012 г.
    • инклюд в index.php в корне цмс (по образцу инклюдов других)

      остальное - в шаблоны
  • 11 октября 2012 г.
  • Походу я так еще год сайт буду запускать. :(
    В index.php
    Код
    include_once(ABSOLUTE_PATH.'LittlePoll/lp_source.php');

    В function.php
    Код
    public function show_question()
    {
    echo $question;
    return true;
    }

    В шаблон:
    Код
    <insert name="show_question">

    Что не правильно сделано? Не работает. :(
    • 11 октября 2012 г.
    • Владимир, пихайте все в function.php
      Код
      public function show_question()
      {
      include_once(ABSOLUTE_PATH.'LittlePoll/lp_source.php');
      echo $question; //если эта переменная там в инклюдном пхпшнике определяется
      }


      Затем в шаблоне просто:
      Код
      <insert name="show_question">
      • 11 октября 2012 г.
      • Виталий, спасибо, сейчас попробую. А вот это куда и как:
        Код
        <?php if($votingstep==1) { echo($step1str); }
        if($votingstep==2) { echo($step2str); }
        if($votingstep==3) { echo($step3str); }
        ?>

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

Новости

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

Форум