Antwort #17 am: 11. September 2016, 10:34:52
Ich habe jetzt nach langem suchen eine Elegante Lösung für das Einkürzen der Beschreibung gefunden und dem entsprechend angepasst, eventuell kann es der eine oder andere ja brauchen.
Es geht bestimmt noch sauberer, aber für meinen Einsatz reicht es.
Man kann nun durch klicken auf dem Button die gesamt Beschreibung ein und ausblenden. Beim Laden ist die Beschreibung gekürzt.
Einfach in der categorie_listing.html und produkt_listing.html tauschen.
<div id="bank">
{$CATEGORIES_DESCRIPTION}</div>
<div id="fancy">{$CATEGORIES_DESCRIPTION|truncate:150:"...":true} </div><div><p id="btn" class="descpoinzer" style="vertical-align:middle;margin-top:20px"><span>MEHR</span></p></div><div id="btn-bk" class="descpoinzer" style="vertical-align:middle;margin-top:20px"><span> WENIGER</span></div>
<script type="text/javascript">
{literal}
$('#btn').click(function(e){
$('#fancy, #btn').fadeOut('slow', function(){
$('#bank, #btn-bk').fadeIn('slow');
});
});
$('#btn-bk').click(function(e){
$('#bank, #btn-bk').fadeOut('slow', function(){
$('#fancy, #btn').fadeIn('slow');
});
});
{/literal}
</script>
</div>{/if}
In die css einfügen.
#bank {display:none; }
#btn-bk {display:none;} .descpoinzer{cursor:pointer; }
.descpoinzer {
background-color: #7f8c8d;
border: medium none;
border-radius: 4px;
color: #ffffff;
cursor: pointer;
display: inline-block;
font-size: 18px;
padding: 10px;
text-align: center;
transition: all 0.5s ease 0s;
width: 150px;
}
.descpoinzer span {
cursor: pointer;
display: inline-block;
position: relative;
transition: 0.5s;
}
.descpoinzer span:after {
content: '»';
position: absolute;
opacity: 0;
top: 0;
right: -10px;
transition: 0.5s;
}
.descpoinzer:hover span {
padding-right: 25px;
}
.descpoinzer:hover span:after {
opacity: 1;
right: 0;
}
Vieleicht hat jemand eine Idee wie man die Buttons ausblendet bei zu wenig Beschreibungslänge?