Делай, что должно, и будет, что будет

Автор блога: Cruzka

Адаптируем стандартный диз 1.10.х под мобильные устройства

Для тех кто не в курсе, Гугл и Яндекс обещают понижать в выдаче сайты с неадаптивным дизайном (которые неудобно просматривать с телефона).
Я довольно долго тянул с этим, пока не поймал письма счастья от гугла по паре сайтов.

письмо счастья

Итак, чтобы сделать стандартный дизайн InstantCMS 1.10.x адаптивным, понадобится самая малость:

Добавленные статьи из админки не отображаются в ленте активности - фикс

При добавлении статей из админки, не создаются почему-то метки в ленте активности.

Решение:

Чтобы в ленте активности отображались статьи добавленные администратором
В \components\content\model.php в функции public function addArticle($article){
после строк cmsCore::callEvent('ADD_ARTICLE_DONE', $article); (перед закрывающей })
вставляем
Код PHP:
  1. $article['category'] = $this->inDB->get_fields('cms_category', "id={$article['category_id']}", 'title, seolink');
  2. //регистрируем событие
  3. cmsActions::log('add_article', array(
  4. 'object' => $article['title'],
  5. 'object_url' => "/{$article['seolink']}.html",
  6. 'object_id' => $article['id'],
  7. 'target' => $article['category']['title'],
  8. 'target_url' => "/{$article['category']['seolink']}",
  9. 'target_id' => $article['category_id'],
  10. 'description' => ''
  11. ));
За решение спасибо Igor-san, Источник: /forum/thread6900.html

Проверено, работает в 1.10.1

Добавил не корысти ради, а чтобы не потерять.

Чутка правим поиск по сайту

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

1.10.1 Решение проблемы из-за "Убрать названия категорий из url статьи"

Убирали на своём инстанте названия категорий из урла статьи?

После этих манипуляций были замечены следующие багоглюки:

1. при открытой статье не подсвечивался пункт меню раздела, в котором статья
2. если в настройках какого-то модуля стояли галки "показывать в определённых разделах", то модуль показывался только в самих разделах, не в статьях этих разделов


Всё дело в том, что при выводе модуля хитрый код в файле core/classes/page.class.php вызывает функцию $inCore->menuId();

А эта функция menuId() получает id текущего меню. Причём, не абы как, а беря за основу текущий адрес страницы, который я успешно изменил в минихаке =)

Внимание, фикс:


Генерация тегов к статье

Мало ли, кому пригодится сгенерировать теги к статьям:

phpBB + HTML коды для вставки фото из фотогалереи

Изначально в фотогалерее у каждой фото коды для вставки на другой сайт такие:
Код PHP:
  1. [IMG]http://site.ru/images/photos/medium/image.jpg[/IMG]
В таком виде мало кто сможет попасть на Ваш сайт по этой ссылке, да и на тИЦ с ПР такая ссылка окажет малое значение (грузится не кликабельная картинка).

Человекопонятное имя файлов картинок в фотогалерее

чтобы имена файлов были
Код PHP:
  1. images/photos/medium/krasivaya-kartinka-vd23sdf.jpg
вместо
Код PHP:
  1. images/photos/medium/b666a879da9368dc1ac48a6bd686c389.jpg
что, говорят, хорошо для сео.

решение простое: в файле
/core/classes/upload_photo.class.php в функции
Код PHP:
  1. public function uploadPhoto($old_file=''){
исправьте строку (в коде ниже она закомментирована):
Код PHP:
  1.  
  2. //$this->filename = $this->filename ? $this->filename : md5(time().$realfile).'.'.$ext;
  3. $this->filename = $this->filename ? $this->filename : cmsCore::strToURL($realfile)."-".uniqid().'.'.$ext;
  4.