[Хаки]-InstantCMS2

DataPro

Natapro
Регистрация
21 Авг 2009
Сообщения
242
Реакции
79
В данной теме
Публикуются коммерческие и собственные Хаки дляICMS 2 и выше.
Ссылки на пост с вашим Хаком будут закрепятся автором темы в описании...
Перечень Хаков:
 
Как заменить стандартную капчу (Captcha) в InstantCMS 2.0.1 и зарабатывать на капче
Bez-imeni.png
Как заменить стандартную капчу (Captcha) в InstantCMS 2.0.1 и зарабатывать на капче

Скорее всего я не один такой, кого не устраивает стандартная Captcha в InstantCMS. Довольно таки муторная штучка, голову сломаешь пока её наберёшь. Вот пример:



Bez-imeni.png
Например, как у меня есть городской портал на данном движке (инстант цмс), и что бы пользователю иметь возможность полноценно использовать возможности данного сайта, ему необходимо зарегистрироваться. Ну а при регистрации соответственно нужно правильно набрать капчу, что сделать довольно таки не просто.


Не у каждого терпения на это хватает. А это значит, клиент (посетитель) проходит мимо. Скажем, что бы опубликовать обычное объявление в пару строк, пользователю прежде приходится прилично попотеть разгадывая иероглифы заданные в капче.

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

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

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

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

Принцип действия прост. Берётся обычная, не сложная капча и обычный рекламный баннер, всё это дело комбинируется и получается оригинальная, не скучная и запоминающаяся капча.



Bez-imeni1.jpg




С каждого правильно введённого текста вам будет идти 0.10 руб, а с каждого клика по баннеру 0.5 руб.

На сайте (parrotify.com) предоставляющем данную капчу имеется личный кабинет с возможностью настроить рекламный баннер и определить тематику рекламы, которая будет показываться в капче. Так же имеется возможность видеть статистику, это просмотры баннера, клики по нему и доход с клика.



statistika.jpg




Так же специалисты компании могут создать бесплатно любой баннер с нужной вам рекламмой. Для этого ннеобходимо отправить заказ на изготовление баннера, где указать пожелания как он должен будет выглядеть, задать цвет, определить текст и другие параметры, которые вам нужны.

Данная капча интегрируется почти во все известные CMS и E-Commerce системы. А если в списке нет вашего движка, я думаю можно обратиться к владельцам сайта с просьбой создать код для вашей CMS. Например для InstantCMS код вставки был разработан по просьбе трудящихся недавно.

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

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

Теперь можно вставлять код. Для этого создайте на компьютере пустую папку с именем — parrotifyCaptcha, в этой папке создайте два файла: frontend.php и manifest.php.

В файл - frontend.php поместите вот этот код:

<?php

class parrotifyCaptcha extends cmsController
{
const validateURL = 'Для просмотра ссылки Войди или Зарегистрируйся

public function onCaptchaHtml($params=array())
{
$html = '<div id="parrotify_captcha" style="padding-bottom:.5em"><script src="Для просмотра ссылки Войди или Зарегистрируйся"></script></div>';
return $html;
}

public function onCaptchaValidate($request)
{
$cookie = $_COOKIE["_cpathca"];
$data = array(
'captcha[value]' => $request->get('captcha_name'),
'captcha[key]' => $cookie ? $cookie : null,
);

$data = http_build_query($data);

$options = array(
'http'=> array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $data,
),
);
$context = stream_context_create($options);
$fp = fopen(self::validateURL, 'rb', false, $context);
$result = stream_get_contents($fp);
fclose($fp);

return $result == 1;
}

}

А в файл — manifest.php, вот этот:

<?php

return array(
'hooks' => array(
'captcha_html',
'captcha_validate',
),
);

Теперь созданную папку с находящимися в ней двумя файлами закиньте на свой хостинг с помощью своего FTP-клиента, в директорию (папку) — controllers, находящуюся по пути /system/controllers.

Затем переименуйте файл — manifest.php в manifest-kill.php. Он расположен вот по этому пути: /system/controllers/recaptcha/manifest.php.

Всё любуйтесь новой капчёй.

Как настроить и вывести пункт «Добавить видео» в InstantCMS 2.1.1
Bez-imeni2.jpg
Первым делом, если у вас ещё не создана страница на которой будет отображаться видео давайте её создадим. Для того пройдите в панель управления вашего сайта на InstantCMS, и выберите Тип контента.



Для просмотра ссылки Войди или Зарегистрируйся



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

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

То есть тип контента это определённый вид информации сгруппированной по определённым признакам.

Допустим если создать тип контента на сайте Игры, то туда будут помещаться строго игры. Не новости, не объявления, а только игры.

А если создать тип контента видео, значит на той странице можно будет найти только видео и ни чего другого. Надеюсь доходчиво пояснил.

Ну вот, когда вы зайдёте в Тип контента, то увидите слева в верху ссылочку "Создать тип контента" с зелёным крестиком впереди.



Для просмотра ссылки Войди или Зарегистрируйся



А нажав на неё попадёте в настройки, где и будем создавать тип нужного нам контента, (нас интересует тип контента - видео).

Значит в первом поле прописываем системное имя контента латинскими буквами. Это имя будет использоваться в урл и в таблицах базы данных. Для видео, у нас системное имя будет таким: video.

Ниже, в следующем поле необходимо прописать заголовок на русском. Он будет отображаться на странице. Заголовок соответственно будет: Видео. Так же в третье поле вставьте описание контента, можно указать тоже: Видео.

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



Для просмотра ссылки Войди или Зарегистрируйся



Изначально, по умолчанию в InstantCMS не возможно добавить видео на сайт, потому, как не существует даже поля Добавить видео. Значит необходимо это поле создать. Для этого нажмите на кнопку Заголовки, рядом с Настройками.



Для просмотра ссылки Войди или Зарегистрируйся



Здесь в первых трёх полях пропишите, как будут выводиться заголовки в разных числительных. А ниже, в четвёртом поле укажите объект с которым будет проводиться операция, у нас это Видео.

Собственно последнее поле и будет выводить на сайте кнопку Добавить видео. Всё это дело сохраняем.



Для просмотра ссылки Войди или Зарегистрируйся



На этом почти всё. Единственное, что осталось это настроить Поля. Оно понадобится, что бы вывести на сайт соответствующий редактор для вставки видео. Потому как по умолчанию стоит редактор предназначенный для вставки текста и он не позволит поместить видео на сайт.

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



Для просмотра ссылки Войди или Зарегистрируйся



Войдите в настройки - карандаш справа. А там тип поля Текст замените на Текст HTML. Сохраняйтесь.



Для просмотра ссылки Войди или Зарегистрируйся



Всё, можете перейти на сайт в меню Видео и увидеть в сайдбаре кнопку Добавить видео.



Для просмотра ссылки Войди или Зарегистрируйся



А здесь отличный HTML-редактор. С помощью его можно без проблем вставлять любой код видео и не только, используя значок для вставки видео или угловые скобки <>



Для просмотра ссылки Войди или Зарегистрируйся

Как изменить вид/цвет «кнопки вверх/вниз» в InstantCMS 2.x
zakrashennyiy.jpg
ткройте скаченный архив с помощью любого архиватора:

Для просмотра ссылки Войди или Зарегистрируйся

Внутри вы увидите пять компонентов: одна папка, один файл изображения, и три текстовых файла со скриптами и кодами. Откройте папку "package".



Для просмотра ссылки Войди или ЗарегистрируйсяВ ней ещё две папки, нужно открыть "templates"



Для просмотра ссылки Войди или ЗарегистрируйсяДалее открывается папка "default".



Для просмотра ссылки Войди или Зарегистрируйся

Там из четырёх папок выберите "images" .



Для просмотра ссылки Войди или Зарегистрируйся

Здесь вы найдёте файл с изображением кнопки, которую и нужно будет покрасить в нужный цвет.



Для просмотра ссылки Войди или Зарегистрируйся



Откройте файл "updownscroll.png" в любом графическом редакторе и залейте стрелку необходимым цветом. Например, я это делал в GIMP, так как пользуюсь линуксом.

Вот как я это реализовал:

Таким изображение было в оригинале при открытии его в графическом редакторе.



Для просмотра ссылки Войди или Зарегистрируйся



Я использовал в своём графическом редакторе инструмент Заливка.



Для просмотра ссылки Войди или Зарегистрируйся



После нажатия левой кнопкой мыши на "ведро" включается функция заливки. Теперь при наведения курсора на нужный объект, и нажатии левой кнопки мыши на этот объект, он полностью перекрашивается в заданный цвет. У меня голубой.

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



Для просмотра ссылки Войди или Зарегистрируйся



Далее нажмите правую кнопку мыши и в выпадающем окне выберите вкладку "Файл". А в следующем выпадающем окне нажмите "Перезаписать updownscroll.png".

Обновляйте файл, и закрывайте архив компонента "Кнопка вверх/вниз".

А можно вообще заменить изображение на своё, нарисовать другие стрелки, но на это нужно время и знание GIMP, или другого графического редактора.

Теперь этот изменённый компонент нужно установить на сайт. Открывайте админку, заходите в Компоненты.



Для просмотра ссылки Войди или Зарегистрируйся



В левом, верхнем углу жмите "Установить пакет дополнения"



Для просмотра ссылки Войди или Зарегистрируйся



Выбирайте файл скаченный заранее на компьютер (Для просмотра ссылки Войди или Зарегистрируйся), жмите кнопку "Продолжить".

Вам откроется Информация о пакете, а внизу кнопка Установить, нажмите её. Затем вам понадобятся реквизиты вашего FTP. Задайте их, а ниже пропишите Путь папки сайта. Я прописал - www/мой сайт.ru. Следом жмите Продолжить.



Для просмотра ссылки Войди или Зарегистрируйся



Всё компонент "кнопка вверх/вниз" установлен, а найти его можно в виджетах, в группе Общие.

Для просмотра ссылки Войди или Зарегистрируйся



А теперь ставьте его на сайт путём перетаскивания в нужное место.



Для просмотра ссылки Войди или Зарегистрируйся



И ещё. Целесообразно будет если кнопка будет видна на всех страницах. Для этого на странице виджетов, в левом списке выберите -Системные =>Все страницы.



Для просмотра ссылки Войди или Зарегистрируйся



Теперь на вашем сайте имеется кнопка скроллинга.


Как установить информер прогноза погоды от Gismeteo в InstantCMS
L640ouGA-Cs.jpg
как установить информер на сайт под управлением данной CMS.

Вроде бы ни чего сложного и нет, с одной стороны. С другой, как подойти к этому не каждый знает, и я был в их числе до недавнего…

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

Выбрать информер, подрихтовать его под себя, и забрать код для вставки на свой сайт, можно Для просмотра ссылки Войди или Зарегистрируйся.

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



Для просмотра ссылки Войди или Зарегистрируйся



Когда выберите и нажмёте на него мышкой, откроется небольшая панель с настройками. В принципе всё уже настроено, а вам остаётся только подогнать свой информер под свой сайт и регион.

Лично я заполнил всего несколько необходимых полей, поменял цвет фона и размер информера (регулируется только ширина), подогнав его под свой сайт. Остальное оставил всё, как есть.

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



Для просмотра ссылки Войди или Зарегистрируйся

Теперь полученный код нужно правильно вставить на сайт управляемый InstantCMS.

Установка информера на сайт


Идём в панель управления сайта, в директорию Виджеты, находим в правом столбце виджет с наименованием - Текстовый блок.

Далее необходимо мышкой перетянуть его в нужное место на вашем сайте. Лично я посчитал целесообразным на своём сайте установить информер погоды в сайдбар.



Для просмотра ссылки Войди или Зарегистрируйся



При перетаскивании виджета откроется дополнительный фрейм (окно) с настройками.
Сразу же вместо заголовка - Текстовый блок впишите нужный вам заголовок. Он будет отображаться на сайте.



Для просмотра ссылки Войди или Зарегистрируйся



Далее перейдите в - Опции. Откроится обычный текстовый редактор с перечнем некоторых инструментов.

Находите вот такой значёк </>, жмёте, открываете редактор для кода и вставляете скопированный на сайте Gismeteo код вашего информера.



Для просмотра ссылки Войди или Зарегистрируйся



Всё это дело сохраняете и прогноз погоды для посетителей вашего сайта будет всегда перед глазами.



Для просмотра ссылки Войди или Зарегистрируйся



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


Автоподгрузка страниц iCMS2
9e5362968ad1e015e769ed3676842e42.gif

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

Кроме ajax, также использовалось HTML5 History API, чтобы при подгрузке страничек корректно отображать правильный адрес в адресной строке браузера. Зачем это надо можно почитать корявенький перевод Для просмотра ссылки Войди или Зарегистрируйся. А Для просмотра ссылки Войди или Зарегистрируйся, при необходимости, скачать последнюю версию скрипта, который позволяет легко работать с History API в разных браузерах, в том числе и старых HTML4.

Установка модуля достаточно проста. Для начала скачиваем Для просмотра ссылки Войди или Зарегистрируйся.
В архиве 3 файла:
- pageautoload.js - сам модуль с незамысловатым названием
- pageautoload.min.js - сжатая версия модуля
- jquery.history.js - скрипт для работы с History API
Кладем один из вариантов js-модуля pageautoload и файл jquery.history.js в папку со скриптами, по умолчанию она находится тут:
Код PHP:
  1. ..\templates\default\js\
И самое тяжелое - подключаем модуль в необходимых местах шаблона, там, где мы хотим, чтобы страницы, при пагинации, загружались автоматически через ajax. Для этого в файлах:
Код PHP:
  1. ..\templates\default\content\albums_list.tpl.php
  2. ..\templates\default\content\default_list.tpl.php
  3. ..\templates\default\content\default_list_featured.tpl.php
  4. ..\templates\default\content\default_list_table.tpl.php
  5. ..\templates\default\content\default_list_tiles.tpl.php
  6. ..\templates\default\controllers\activity\Для просмотра ссылки Войди или Зарегистрируйся.tpl.php
  7. ..\templates\default\controllers\comments\list_index.tpl.php
  8. ..\templates\default\controllers\groups\Для просмотра ссылки Войди или Зарегистрируйся.tpl.php
  9. ..\templates\default\controllers\photos\album.tpl.php
  10. ..\templates\default\controllers\search\index.tpl.php
  11. ..\templates\default\controllers\users\Для просмотра ссылки Войди или Зарегистрируйся.tpl.php
  12. ..\templates\default\controllers\users\profile_karma.tpl.php
  13. ..\templates\default\controllers\wall\Для просмотра ссылки Войди или Зарегистрируйся.tpl.php
в самом начале прописываем строки:
Код PHP:
  1. <?php $this->addJS("templates/{$this->name}/js/jquery.history.js"); ?>
  2. <?php $this->addJS("templates/{$this->name}/js/pageautoload.min.js"); ?>
(в данном случае, я использую сжатую версию pageautoload)

Это более правильный подход, но вместо кучи файлов шаблона можно попробовать подключить скрипты в файле
..\templates\default\main.tpl.php ниже после блока подключения других скриптов. В этом случае, плагин будет работать на всех страницах где используется пагинация. Но там, где нет разбиения на страницы и нет необходимости в работе скрипта, он всё равно будет грузиться. Этот способ хорош для тестовой проверки работоспособности, но не рекомендуется использовать его на рабочих сайтах, зачем постоянно грузить 26 килобайт ненужной информации?!
Немного о настройках...
Все, или почти все, изменяемые параметры скрипта вынесены в его начало, в разделе options. Рядом проставлены комментарии с описанием каждого параметра. Единственное на что хотел бы обратить внимание это раздел CONTAINERS, в котором перечислены классы и id блоков куда выводятся подгружаемые ajax данные. Например, структура ленты активности в стандартном шаблоне следующая:
Код HTML:
  1. <...>
  2. <article>
  3. <Для просмотра ссылки Войди или Зарегистрируйся id="breadcrumbs">...</Для просмотра ссылки Войди или Зарегистрируйся>
  4. <Для просмотра ссылки Войди или Зарегистрируйся>Лента активности</Для просмотра ссылки Войди или Зарегистрируйся>
  5. <Для просмотра ссылки Войди или Зарегистрируйся class="content_datasets">...</Для просмотра ссылки Войди или Зарегистрируйся>
  6. <Для просмотра ссылки Войди или Зарегистрируйся class="activity-list striped-list list-32">...</Для просмотра ссылки Войди или Зарегистрируйся>
  7. <Для просмотра ссылки Войди или Зарегистрируйся class="pagebar">...</Для просмотра ссылки Войди или Зарегистрируйся>
  8. </article>
  9. <...>
Интересующий нас контент, который должен выводиться через ajax, находится внутри тега div с классом ".activity-list". Именно его (класс) мы добавляем в раздел CONTAINERS, чтобы плагин подключился к выводу страниц ленты активности. Для комментариев - тег с id "#comments_list", для показа списка пользователей - "#users_profiles_list" и т.д. По умолчанию в плагине уже присутствуют все компоненты стандартного шаблона где используется пагинация, собственно файлы шаблонов перечислены выше.
Чтобы добавить в плагин сторонний компонент или шаблон, ищем в нем тег-контейнер и дописываем в опциях pageautoload.js необходимый класс или идентификатор. Например для компонента "Фотобитвы", который был разработан Для просмотра ссылки Войди или Зарегистрируйсяв процессе записи Для просмотра ссылки Войди или Зарегистрируйся, контент выводится внутри тега с классом ".photobattles-list". Его-то нам и необходимо добавить в раздел CONTAINERS. Далее подключаем плагин к компоненту (дописываем строки "<?php $this->addJS..." в файле шаблона ..\templates\default\controllers\photobattle\index.tpl.php) и проверяем результат его работы.

На этом всё.
Надеюсь получилось достаточно подробно и ясно описать базовый функционал плагина и принцип его работы. Всем большое спасибо и удачи в процессе постижения тайн второго Instant'а!!!

P.S. Буду рад благодарности в карме, чтобы создать блог и делиться в нем своими мыслями и наработками по расширению функционала всеми любимой iCMS.
Прикрепленные файлы:
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:
Народ подскажите как сделать, в типах контента есть...кнопка...добавить собственное поле . так вот,
как сделать чтобы в этом поле выводился мой текс и названия статьи ....
 
Есть вариант виджета как для посадочной страницы чтоб сразу в базу попадала инфа?
 
Привет всем! Прошу помощи!
У меня стоит ICMS 2.2.1 всё замечательно за исключением некоторых мелких проблем,которые я уже самостоятельно решил,но с одним справиться не могу.
Это отображение оригинала картинки после загрузки любым из двух редакторов (live и redactor) по клику на неё. Никак не могу понять,где копать. Я считаю,что проблема либо в папке /system/ в контоллере,либо в папке wysiwyg. В общем в списке нашёл ,где менять.Но на странице записи,хоть убей не могу понять,что менять.На картинке пример списка статей,кто ещё не понял о чём я пишу.

Может кто-то уже столкнулся и решил эту проблему, поделитесь !!!
 

Вложения

  • Иконка в списке.jpg
    Иконка в списке.jpg
    385,5 KB · Просмотры: 49
Привет всем! Прошу помощи!
У меня стоит ICMS 2.2.1 всё замечательно за исключением некоторых мелких проблем,которые я уже самостоятельно решил,но с одним справиться не могу.
Это отображение оригинала картинки после загрузки любым из двух редакторов (live и redactor) по клику на неё. Никак не могу понять,где копать. Я считаю,что проблема либо в папке /system/ в контоллере,либо в папке wysiwyg. В общем в списке нашёл ,где менять.Но на странице записи,хоть убей не могу понять,что менять.На картинке пример списка статей,кто ещё не понял о чём я пишу.

Может кто-то уже столкнулся и решил эту проблему, поделитесь !!!

Тоже эта проблема интересует. Если разберётесь - напишите как)
 
Друзья! Кто-нибудь использует данную cms для электронного документооборота? Нужен совет
 
Ребят не нашел куда написать сильно не пинайте. Столкнулся с такой проблемой в панели и на самом сайте вот
lQOOOYw.png
Cr2E18z.png
Стоит последняя версия. Не пойму от куда лезут эти каракули. В панели она висит тока в виджитах и если на сайте вывожу виджит "Аватар пользователя" и в Опциях ставлю персональное меню.
 
Ребят не нашел куда написать сильно не пинайте. Столкнулся с такой проблемой в панели и на самом сайте вот Стоит последняя версия. Не пойму от куда лезут эти каракули. В панели она висит тока в виджитах и если на сайте вывожу виджит "Аватар пользователя" и в Опциях ставлю персональное меню.
База в какой кодировке? Сами таблицы?
 
Назад
Сверху