Доработка подсчета набранных символов.

Итак, не так давно я заморочился и сделал, удобный для меня, скрипт подсчета введенных или набранных символов в текстовое поле. 
Это очень удобно для тех кто хотел бы знать какого объема он пишет статьи. Более подробно можно почитать вот в этой статье: Подсчет набранных символов для Fapos

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

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

Ну а теперь от лирики перейдем к реализации.

Насколько вы помните, а если не помните то посмотрите тут, мы разнесли код на 2 составляющие. 

Первая составляющая кода по подсчету набранных символов это файл с джава скриптами.
Идем в этот файл и меняем всего 1 параметр.
раньше переменная var max у нас задавалась явным образом и выглядела вот так:
var max = 10000;
Теперь ее необходимо заменить следующей строкой:
var max = document.getElementById('maxcount').innerHTML;
Сохраняем изменения и на этом с джава скриптом окончено.

Далее идем в админку своего сайта на фапосе, в верхнем меню выбираем снипеты -> создать снипет.
Название задавайте сами какое хотите, главное что бы снипета с таким названием у вас еще не было.

В него вносим следующий код:
$cat = substr($_SERVER['REQUEST_URI'], 1, strlen($_SERVER['REQUEST_URI'])-1); 
$tr = explode("/", $cat);
if ($tr[0] !== "foto")
{
$max = Config::read('max_lenght', $tr[0]);
}
else {
$max = Config::read('description_lenght', $tr[0]);
}
echo "<div style='display:none;' id='maxcount'>".$max."</div>";
?>
<span id="count"></span> <span id="counto"></span>
<?
Это по сути и код для считывания параметров максимальной длинны сообщения и вывод строки в которой написано сколько символов набрано и сколько осталось.

Далее идем в файлики addform.html и editform.html во всех модулях где будем ставить подсчет набранных символов.
Находим строку где раньше мы вводили код 
<span id="count"></span> <span id="counto"></span>
и вместо нее вставляем свой снипет, что то типа того {[ИМЯ СНИППЕТА]}

Вот в принципе и все, все должно работать.

Если кого то интересует обсуждение по созданию данного снипета то вот ссылка на первое сообщение.

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



Категория: 

Оставить комментарий