• Дорабатываем 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 - как лечить?

    Хоть все (форум, портал, я в блоге) и кричали о том что нужно обновиться и срочно, многие, к сожалению, вовремя этого не сделали. Надоело отвечать на joomlaforum.ru одно и тоже в каждой теме, поэтому решил расписать всё один раз в статье.

    Под катом будет подробная инструкция, как нужно лечить сайт.

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

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

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

  • Недостатки SH404SEF и как их побороть

    Итак, давно я ничего не писал, но это не значит что забросил сайт... просто немного некогда.
    Для многих проектов я по разным причинам использую SH404SEF - не сильно грузит сайт, очень функционален, возможности управления мета-тэгами.
    Причем версия 1.0.19_Beta - build_232 - бесплатна, хотя за новые увы уже просят денежку.
    Собственно об этой версии и пойдет речь.

  • Топ-10 известных расширений для Joomla, которые не надо использовать в 2016 году.

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

    Многие из них часто упоминаются в сети и были нужны 3-5-7 лет назад, но не сегодня.

    Изложенное ниже - только моя точка зрения.

  • Убираем ограничение на использование кириллицы в 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 на джумле разных версий ) так что мне это важно поэтому ...

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

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

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

Вы смотрели