COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Скрытие длинного текста в описание категории


Recommended Posts

Всем привет! Решил сделать основательное описание для основных категорий и тк текст очень длинный то визуально это не удобно. Для решения проблемы нашел такой скрипт http://cssdeck.com/labs/full/uq6hvxxy

Запихал в stylesheet.css:

#block-hidetext{
    border-bottom: 1px solid #C3C3C3;
    height: 200px;
    overflow: hidden;
}
  
 
#text-tab{
    position: absolute;
    width: 120px;
    height: 30px;
    border-top: 1px solid #C3C3C3;
    border-left: 1px solid #C3C3C3;
    border-right: 1px solid #C3C3C3;
    background-color: white;
    margin-top: -31px;
    margin-left: 290px; 
    cursor: pointer;  
}
#text-tab p{
    text-align: center;
    margin: 8px 0;  
}

создал файл blockhidetext.js в catalog/view/javascript/ с таким содержанием:

$(document).ready(function(){

 var sizetext = $('#size-hidetext').height()+35; // Определяем высоту блока с текстом. Фактически определяем высоту текста и прибавляем ещё 35px - это высота ярлычка, чтобы при открытом состоянии ярлычок не заходил на текст.'

  $('#text-tab').toggle(
       function() {
            $('#block-hidetext').animate({'height':sizetext},350); // Плавная анимация к концу блока с текстом.
            $('#text-tab > p').html("Скрыть");
       },
       function() {
            $('#block-hidetext').animate({'height':'200'},350); // По второму нажатию на ярлычок будет происходить анимация вверх до 200px.
            $('#text-tab > p').html("Раскрыть");
       }
    );	

      });

подключил его в хедере: <script src="catalog/view/javascript/blockhidetext.js" type="text/javascript"></script>

 

Добавил в category.tpl в выводе описания вот так:

<div class="col-sm-10"><div id="block-hidetext"><div id="size-hidetext"><?php echo $description; ?><div id="text-tab" ></div></div><p>Раскрыть</p></div></div>

Но на выходи получил все равно вот такую не работающию хрень: http://prntscr.com/bmwx9x 

Ссылка на комментарий
Поделиться на других сайтах

  • RHCk changed the title to Скрытие длинного текста в описание категории

Не помню с какого источника брал, но вот гайд:

Подключаем в хедере, если не подключено:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

Добавляем в футер сам скрипт:

<script language="javascript">
$(document).ready(function(){
$("#allother").hide();
$("#moreless").click(function(e) {
var allother = $("#allother");
$(this).text(allother.is(":visible") ? "Развернуть »" : "« Свернуть");
allother.slideToggle();
e.stopImmediatePropagation();
return false;
});
});
</script>

Теперь в описании категории редактируем код:

<div id="first4">
<p>Текст который человек видит сразу</p>
</div>
<div id="allother">
<p>Текст который появляется после нажатия на кнопку: Развернуть</p>
</div>
<a href="#" id="moreless">Развернуть »</a>

Правда это ручной вариант, если подойдет.

Ссылка на комментарий
Поделиться на других сайтах

Сделал чуть проще как тут описано http://pcvector.net/2014/11/24/readmorejs-plagin-skryvayuschiy-bolshoy-tekst.html

Для чего залил readmore.js в catalog/view/javascript, далее в category.tpl после 

<?php echo $column_right; ?></div>

добавил:

<script src="catalog/view/javascript/readmore.js" type="text/javascript"></script>
	<script>
		$('article').readmore({
			maxHeight: 100,
			moreLink: '<a href="#" class="button btn btn-primary">Подробнее</a>',
			lessLink: '<a href="#" class="button btn btn-primary">Скрыть</a>'
		});
	</script>

а текст в описании категории заключил в <article></article>, хотя последние теги может правильней добавить в шаблон

Ссылка на комментарий
Поделиться на других сайтах

если стоит МегаФильтр то нужно в настройках слоя фильтра зайти в яваскрипт и дописать в последней констркции кода:

$('article').readmore({
			maxHeight: 100,
			moreLink: '<a href="#" class="button btn btn-primary">Подробнее</a>',
			lessLink: '<a href="#" class="button btn btn-primary">Скрыть</a>'
		});

что бы вышло:

MegaFilter.prototype.afterRender = function( htmlResponse, htmlContent, json ) {
$('article').readmore({
			maxHeight: 100,
			moreLink: '<a href="#" class="button btn btn-primary">Подробнее</a>',
			lessLink: '<a href="#" class="button btn btn-primary">Скрыть</a>'
		});
};

 

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.