SimplaCMS: Подсчёт количества введённых символов в поля SEO-параметров

Сеошники знают, что есть правила, которые ограничивают нам ввод длинных title или description. Чтобы не кидать каждый раз в Sublime для подсчёта символов, я набросал простенький скрипт, который показывает текущее значение каждого поля SEO-параметров.

Потестить можно на категориях, для которых в первую очередь и писался сам скрипт. Для этого откроем /simpla/design/html/category.tpl и заменим блок

на код ниже:

<div class="block layer">
<h2>Параметры страницы</h2>
<ul>
	<li><label id="url_count"class=property>Адрес</label><div class="page_url">/catalog/</div><input name="url" class="page_url" type="text" value="{$category->url|escape}" id="url_source" /></li>
	<li><label id="title_count" class=property>Заголовок</label><input name="meta_title" class="simpla_inp" type="text" value="{$category->meta_title|escape}" id="title_source" /></li>
	<li><label id="keys_count" class=property>Ключевые слова</label><input name="meta_keywords" class="simpla_inp" type="text" value="{$category->meta_keywords|escape}" id="keys_source" /></li>
	<li><label id="description_count" class=property>Описание</label><textarea name="meta_description" class="simpla_inp" id="description_source" >{$category->meta_description|escape}</textarea></li>
			</ul>
<script>
var urlname = document.getElementById("url_source");
var urlcount = document.getElementById("url_count");
var titlename = document.getElementById("title_source");
var titlecount = document.getElementById("title_count");
var keywordname = document.getElementById("keys_source");
var keywordscount = document.getElementById("keys_count"); 
var descriptionname = document.getElementById("description_source");
var descriptioncount = document.getElementById("description_count");                                   
window.onload = urlCount();
window.onload = titleCount();
window.onload = keywordsCount();
window.onload = descriptionCount();
urlname.oninput = urlCount;
titlename.oninput = titleCount;
keywordname.oninput = keywordsCount;
descriptionname.oninput = descriptionCount;                  
function urlCount() {
var x = urlname.value;
urlcount.innerHTML = "Адрес (" + x.length + ")";
}             
function titleCount() {
var y = titlename.value;
titlecount.innerHTML = "Заголовок (" + y.length + ")";
}                  
function keywordsCount() {
var z = keywordname.value;
keywordscount.innerHTML = "Ключевые слова (" + z.length + ")";
}
function descriptionCount() {
var xx = descriptionname.value;
descriptioncount.textContent = "Описание (" + xx.length + ")";
}                 
</script>
</div>
Поделиться
Отправить
Запинить
 160   2020   js   seo   simplacms
2 комментария
Дмитрий Эстрин 2021

Добрый день!

А для шаблона product.tpl подскажите что прописать, там вроде как все одинаковое, но не появляется подсчет символов

Дмитрий Эстрин 2021

почитал внимательнее и разобрался) спасибо! Полезно!

Популярное