• Дорабатываем Custom Properties

    Есть такой хороший компонент Custom Properties который позволяет добавлять к статьям тэги и выводить облако тэгов, кстати именно он и используется на этом сайте.

    И все бы хорошо, но есть в нем такая неприятная особенность - при клике по тэгу поиск отображается иногда неверно.


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

     

    Дальнейшие изыскания привели к файлику components/com_customproperties/models/search.php к строке 453

    if($ce->publish_up) $wherestr[] = "( c.".$ce->publish_up." = " . $database->Quote( $nullDate ) . " OR c.".$ce->publish_up." publish_down)$wherestr[]= "( c.".$ce->publish_down." = " . $database->Quote( $nullDate ) . " OR c.".$ce->publish_down." >= CURDATE() )";
    

    проблема здесь оказалось в том что вызов функции CURDATE() в MySQL возвращает время сервера, а учитывая что он находится в Америке разница составляет 12 часов. То есть нам нужно ждать 12 часов перед тем как статья начнет искаться по тэгам, а это не хорошо.

    Для решения проблемы заменяем строчку на следующую -  

            if($ce->publish_up) $wherestr[] = "( c.".$ce->publish_up." = " . $database->Quote( $nullDate ) . " OR c.".$ce->publish_up." Quote($now)." )";
            if($ce->publish_down)$wherestr[]= "( c.".$ce->publish_down." = " . $database->Quote( $nullDate ) . " OR c.".$ce->publish_down." >= ".$database->Quote($now)." )";

     а в строке 451 (то есть чуть выше) добавляем еще 2 строчки кода

     

            $jnow        =& JFactory::getDate();
            $now        = $jnow->toMySQL();

    Собственно весь рецепт, как обычной простой, но отнявший немало времени. 

  • Дублирование главной страницы ч2

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

    Вариант рабочий, использовал на многих сайтах, однако есть и проблема - первый пункт меню который мы прописали как ссылку (назовем его Главная) не подсвечивается при выборе, то есть ему не присваивается id-свойство current.

  • Закрытие доступа в админку Joomla

    Есть небольшое но эффективное решение по закрытию доступа в админ-часть Joomla 1.5 (/administrator).

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

  • Исправление поискового плагина к Yootheme Zoo 1.0 - zoosearch.php

    Компонент Yootheme Zoo версии 1.0 является CCK для Joomla 1.5 с очень богатыми и гибкими возможностями.

    На нем можно делать гибкие, удобные и быстрые каталоги, но увы, Yootheme, так и не доработав его до конца перешла к разработке ветки 2.0.

    Я же пока остаюсь на первой версии и буду выкладывать патчи для устранения недостатков.

    Начнем с корректировки поискового плагина.

  • Модуль вывода последних новостей с датой

    Возникла задача - выводить последние новости с датой, причем если имеем несколько новостей - то необходимо группировать их по дате. Для этих целей я решил написать свой модуль на базе mod_latestnews.

  • Переопределение helper.php в шаблоне Joomla 1.5

     Всем (ну или всем, кто активно занимается версткой под Joomla 1.5) известно что в шаблоне можно переопределить HTML-вывод любого модуля. 

    Делается это довольно просто, к примеру для переопределения вывода модуля меню нам нужно скопировать файл /modules/mod_mainmenu/tmpl/default.php в папку /templates/название шаблона/html/mod_mainmenu и поправить как нам нужно.

    Это очень удобно, и помогает сверстать шаблон практически любой сложности.

    Но тем не менее данный метод не позволяет нам добавить новый функционал.

  • Плагин нестандартной иконки для админ-панели Joomla

    Давно использую плагин для фавиконки нестандартной в админ-панели Joomla

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

  • Убираем ограничение на использование кириллицы в URL в стандартных материалах

    Возникла задача - разрешить русские алиасы для статей для использования кириллицы в URL. Многие сторонние компоненты , например SH404SEF позволяют это делать, однако при сохранении стандартного материала в Joomla 1.5 система не позволяет использовать кириллицу и подставляет вместо нее дату, в случае использования либо заменяет на "-".

    Конечно, такая ситуация меня не устраивала, пришлось углубиться в код CMS.

    Опущу  тут методы, дам сразу результат - нам необходимо сделать правку в файле /libraries/joomla/database/table/content.php

    Ищем нижеследующий кусок

    		$this->alias = JFilterOutput::stringURLSafe($this->alias);
    
    		if(trim(str_replace('-','',$this->alias)) == '') {
    			$datenow =& JFactory::getDate();
    			$this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
    		}
    
    	
    
    

    и просто комментируем его.

    /*		$this->alias = JFilterOutput::stringURLSafe($this->alias);
    
    		if(trim(str_replace('-','',$this->alias)) == '') {
    			$datenow =& JFactory::getDate();
    			$this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
    		}
    
    		
    */
    

    ВНИМАНИЕ!!! Закомментировав все эти строки мы также отключили проверку на не-HTML символы, поэтому если воспользуетесь советом, то ОБЯЗАТЕЛЬНО заполняйте алиас к статье, не использую пробелы и другие спецсимволы!!

    Если Вы также хотите использовать кириллицу в алиасах в категориях и разделах необходимо сделать точно такие же правки в /libraries/joomla/database/table/section.php и /libraries/joomla/database/table/category.php

Последние комментарии

  • I have checked your blog and i've found some duplicate content, that's why you don't rank high in ...

    Подробнее...

     
  • Seriously many of beneficial information.

    Подробнее...

     
  • В любом случае это будет инструкция, постараюсь конечно максимально полно, но инструкция как выявлять ...

    Подробнее...

     
  • Ок жду. у меня почти 120 сайтов из них 90 на джумле разных версий ) так что мне это важно поэтому ...

    Подробнее...

     
  • Да, это важная часть. Проблема в том что айболит видит не всё. То есть это мера необходимая, но ...

    Подробнее...

Вы смотрели