АСТ, Эксмо и Толкин
corwin_celebdil
Некоторые дилетантские размышления и фантазии на тему возможного будущего изданий переводов Толкина в связи с последними событиями вокруг АСТа: http://tolkien.su/forum/index.php/topic,22137.0.html

И в целом о книгоиздательстве и развитии электронных продаж: http://tolkien.su/forum/index.php/topic,22136.0.html
Tags:

В Magento пропадает опрос после получения голоса
corwin_celebdil

В Мадженто исчезает голосование после принятия голоса — решение проблемы

Столкнулся с тем, что у посетителей переставал отображаться опрос, если посетитель в нём проголосовал. То есть хотелось бы, чтобы посетителю всегда что-то выводилось — или результаты опроса, или другой опрос, в котором посетитель еще не принимал участия.

Поиск по форуму мадженты результаты, конечно, дал, но предлагаемое решение имело существенный минус: результаты опросов и новые опросы выводились случайным образом, а посетителю было бы хорошо показывать исключительно те опросы, в которых он еще не принимал участия.

Итого удалось добиться нужной работы достаточно простым трюком, до которого на англоязычном форуме почему-то никто не дошёл:

  1. Скопируйте /app/code/core/Mage/Poll/Block/ActivePoll.php в /app/code/local/Mage/Poll/Block/ActivePoll.php
  2. Найдите и закомментируйте строку $votedIds = $this->getVotedPollsIds();
  3. Добавьте ниже новую строку $votedIds = ($this->getActivePollsIds()) ? $this->getVotedPollsIds() : array();
public function getPollToShow ()
    {
        if ($this->getPollId()) {
            return $this->getPollId();
        }
        // get last voted poll (from session only)
        $pollId Mage::getSingleton('core/session')->getJustVotedPoll();
        if (empty($pollId)) {
            // get random not voted yet poll
            // $votedIds = $this->getVotedPollsIds();
            $votedIds = ($this->getActivePollsIds()) ? $this->getVotedPollsIds() : array();
            $pollId $this->_pollModel
                ->setExcludeFilter($votedIds)
                ->setStoreFilter(Mage::app()->getStore()->getId())
                ->getRandomId();
        }
        $this->setPollId($pollId);

        return $pollId;
    }

Ниже перевод на английский.

Magento Poll disappers after voting and page refresh — solution

  1. Copy /app/code/core/Mage/Poll/Block/ActivePoll.php to /app/code/local/Mage/Poll/Block/ActivePoll.php
  2. Find and comment out the line $votedIds = $this->getVotedPollsIds();
  3. Add new line $votedIds = ($this->getActivePollsIds()) ? $this->getVotedPollsIds() : array();
public function getPollToShow ()
    {
        if ($this->getPollId()) {
            return $this->getPollId();
        }
        // get last voted poll (from session only)
        $pollId Mage::getSingleton('core/session')->getJustVotedPoll();
        if (empty($pollId)) {
            // get random not voted yet poll
            // $votedIds = $this->getVotedPollsIds();
            $votedIds = ($this->getActivePollsIds()) ? $this->getVotedPollsIds() : array();
            $pollId $this->_pollModel
                ->setExcludeFilter($votedIds)
                ->setStoreFilter(Mage::app()->getStore()->getId())
                ->getRandomId();
        }
        $this->setPollId($pollId);

        return $pollId;
    }
Tags:

?

Log in