Jump to content

Ошибка и возможное решение в blockvariouslinks


Recommended Posts

blockvariouslinks - блок для вывода ссылок в футере
1-ая фишка - по умолчанию выводит тупо ссылки из шаблона плюс надпись Powered by Prestashop
решение - закомментировать или удалить ненужное
СТАЛО:

>
<!-- MODULE Block various links -->
</pre>
<ul>
   {foreach from=$cmslinks item=cmslink}
{$cmslink.meta_title|escape:'htmlall':'UTF-8'}
   {/foreach}
</ul>
<br><!-- /MODULE Block various links --&gt



единственное но - там при первом выводе, элемент

идёт в css классе first_item, потом как просто item. не знаю - можно ли это просто через smarty шаблон прописать?
Link to comment
Share on other sites

blockvariouslinks – блок для вывода ссылок в футере
2-ая фишка – при настройке модуля по /admin/index.php?tab=AdminModules&configure=blockvariouslinks можно отмечать какие ссылки выводить, а какие нет в футере. Всё хорошо, но нельзя деактивировать их всех - хотя бы одна ссылка на страницу остаётся отмеченной. Не знаю, баг это или такая фишка, но пришлось это обойти вот так:

в файле modules/blockvariouslinks/blockvariouslinks.php :

    private function _postProcess()
   {    
       $cms = array(); //@MY CHANGES

       if(isset($_POST['categoryBox']) AND is_array($_POST['categoryBox']) AND count($_POST['categoryBox'] >= 0))
       {
           foreach($_POST['categoryBox'] AS $row)
               $cms[] = intval($row);
       } //@MY CHANGES

       if(CMS::updateCmsToBlock($cms, $this->id))
               $this->_html .= ''.$this->l('Cms Updated').'';
       //} //@MY CHANGES
   }    



в файле classes/CMS.php :

    public static function getLinks($id_lang, $selection = null)
   {
       //@MY CHANGES

       /*$result = Db::getInstance()->ExecuteS('
       SELECT c.id_cms, cl.link_rewrite, cl.meta_title
       FROM '._DB_PREFIX_.'cms c
       LEFT JOIN '._DB_PREFIX_.'cms_lang cl ON (c.id_cms = cl.id_cms AND cl.id_lang = '.intval($id_lang).')
       '.(($selection AND sizeof($selection)) ? 'WHERE c.id_cms IN ('.implode(',', array_map('intval', $selection)).')' : ''));*/ 

       $result = Db::getInstance()->ExecuteS('
       SELECT c.id_cms, cl.link_rewrite, cl.meta_title
       FROM '._DB_PREFIX_.'cms c
       LEFT JOIN '._DB_PREFIX_.'cms_lang cl ON (c.id_cms = cl.id_cms AND cl.id_lang = '.intval($id_lang).')
       '.(($selection AND sizeof($selection)) ? 'WHERE c.id_cms IN ('.implode(',', array_map('intval', $selection)).')' : 'WHERE c.id_cms = 0'));

       $link = new Link();
       $links = array();
       foreach ($result as $row)
       {
           $row['link'] = $link->getCMSLink($row['id_cms'], $row['link_rewrite']);
           $links[] = $row;
       }
       return $links;
   }


во втором файле изменения под вопросом - может как-то сказаться на поведение других страниц, хотя вроде не заметил

Link to comment
Share on other sites

×
×
  • Create New...