Как ограничить высоту ячейки в таблице?

Статус
В этой теме нельзя размещать новые ответы.

WWWolf

Писатель
Регистрация
18 Мар 2008
Сообщения
5
Реакции
1
В Shop-Script у меня описание для некоторых товаров очень длинное, а оно у меня отображается в списке товаров. Таким образом, некоторые товары занимают слишком много места. Как ограничить высоту ячейки таблицы, чтобы текст, который превышает максимальную высоту, обрезался. Даже лучше - ограничить число символов в ячейке.
 
Очень легко!

надо добавить |truncate:50 где 50 это количество символов, вот пример:
PHP:
<tr>
			<td colspan=2 bgcolor="#FFFFFF">
				<div align="justify">{$product_info.brief_description|truncate:50}
		    </div></td>
		</tr>

это кусок файла product_brief.tpl.html, а именно часть, в которой выводится описание товара так вот там стоит ограничение на 50 символов т.е. 47 символов и затем ... (три точки) и так вставляем в любое место, куда хотите, что б обрезалось. Количество символов неограниченно хоть 50 хоть 150. Успехов!
 
прикольно а я в php сделал тоже самое через substr
 
Можно ограничить TEXTAREA для вывода нужной длиной!
 
После использования "truncate" в коде файла "home.tpl.html" шаблон разъехался :nezn:
PHP:
   <tr>
     <td colspan="2"><div align="left">{$special_offers[i][5]|truncate:150}</div></td>     
   </tr>
Подскажите плиз, как сделать чтобы шаблон не разлезался.:thenks:
Скрины:
До
a73604c613de.jpg


После
e6bf86360696.jpg
 
Не мог он от этого так разъехаться... Может дело в другом? если убрать truncate:150 то все норм становится? Скажи номер шаблона или прикрепи свой home.tpl.html
 
Не мог он от этого так разъехаться... Может дело в другом? если убрать truncate:150 то все норм становится? Скажи номер шаблона или прикрепи свой home.tpl.html
Вот мой home.tpl.html из шаблона tmpl0
без truncate:150 все норм
PHP:
{* front-end homepage*}

{$smarty.const.STRING_GREETINGS}

<p>
<table width="100%" border="0" cellpadding="5">
{section name=i loop=$root_categories}
{if $smarty.section.i.index is div by 2}<tr>{/if}
<td width="1%" align="center" valign="top">
	{if $root_categories[i][3] ne ""}<a href="index.php?categoryID={$root_categories[i][0]}"><img border=0 src="products_pictures/{$root_categories[i][3]}" alt="{$root_categories[i][1]|replace:'"':'&quot;'}">{/if}
</td>
<td width="49%" valign="top">
		<a href="index.php?categoryID={$root_categories[i][0]}" class="cat">{$root_categories[i][1]}</a> <font class="olive">({$root_categories[i][2]})</font><br>

		{* show sub categories *}
		{assign var="tmp" value=0}
		{section name=j loop=$root_categories_subs}
		  {if $root_categories_subs[j][3] == $root_categories[i][0]}
		    
			{if $tmp == 1}<font class="olive">|</font>
			{else}
				{assign var="tmp" value=1}
			{/if}
			
			<a href="index.php?categoryID={$root_categories_subs[j][0]}" class=standard>{$root_categories_subs[j][1]}</a>
		  {/if}
		{/section}
</td>

{if ($smarty.section.i.index+1) is div by 2}</tr>{/if}
{/section}
</table>
<p>
{* now show special offers *}
<center>
  <table width="100%" border=0 cellpadding=5 cellspacing=1>
{section name=i loop=$special_offers}
{if $smarty.section.i.index is div by 2}
  <tr>{/if}
<td valign=top>

 <table width="250" height="120" border=0 align="center" cellpadding=0 cellspacing=1 bordercolor="#0066CC" bgcolor=#{$smarty.const.CONF_MIDDLE_COLOR}>
 <tr><td>

  <table border=0 align="center" bgcolor=white>
      <tr>     </tr>
   <tr>
   <td colspan=5><div align="center"><a href="index.php?productID={$special_offers[i][0]}"><img src="products_pictures/{$special_offers[i][2]}" border=0 align="bottom"></a></div></td>
   </tr>
   <tr>
   <td colspan="2" align=center><a href="index.php?productID={$special_offers[i][0]}">{$special_offers[i][1]}</a></div>   </td>
   </tr>
   <tr>
     <td colspan="2"><div align="left">{$special_offers[i][5]}</div></td>     
   </tr>
   <tr>
     <td align=right><div align="center"><font color=red><b>{$special_offers[i][3]}</b></font></div></td>
     <td align=right>
	 <form action="index.php?productID={$special_offers[i][0]}" method=post name="HiddenFieldsForm">
<input name='cart' type=image src="images/tmpl12_sale.gif" alt="{$smarty.const.ADD_TO_CART_STRING}">
</form>
	 </td>
   </tr>
  </table>
  <hr /></td>
 </tr>
 </table>
</td>
{if ($smarty.section.i.index+1) is div by 2}</tr>{/if}
{/section}
</table>
</center>
 

Вложения

  • home.tpl.zip
    1 KB · Просмотры: 3
А скинь еще includes\home.php а то у меня не выводит описание так как у меня нет $special_offers[5] в home.php
 
А скинь еще includes\home.php а то у меня не выводит описание так как у меня нет $special_offers[5] в home.php


Вот код home.php
PHP:
<?php
	// front-end homepage
	//get root categories to be shown in the front-end homepage
	$q = db_query("SELECT categoryID, name, products_count, picture FROM ".
		CATEGORIES_TABLE." WHERE categoryID<>0 and parent=1 ORDER BY sort_order, name") or die (db_error());
	$root = array();
	while ($row = db_fetch_row($q))
	{
		if (!file_exists("./products_pictures/$row[3]")) 
			$row[3] = "";
		$root[] = $row;
	}

	//get subcategories of root categories
	$query = "SELECT categoryID FROM ".CATEGORIES_TABLE." WHERE categoryID<>0 ";
	$result = array();
	for ($i=0; $i<count($root); $i++)
	{
		$q = db_query("SELECT categoryID, name, products_count, parent FROM ".CATEGORIES_TABLE.
			" WHERE categoryID<>0 and parent=".$root[$i][0].
			" ORDER BY sort_order, name " ) or die (db_error());
		while ($row = db_fetch_row($q))
			$result[] = $row;
	}
	$smarty->assign("root_categories",$root);
	$smarty->assign("root_categories_subs",$result);

	//special offers
	$result = array();
	$q = db_query("SELECT productID FROM ".SPECIAL_OFFERS_TABLE." order by sort_order") or die (db_error());
	while ($row = db_fetch_row($q))
	{
		$q1 = db_query("SELECT productID, name, default_picture, Price, categoryID, brief_description FROM ".
					PRODUCTS_TABLE.
					" where productID=$row[0]") or die (db_error());
		if ($row1 = db_fetch_row($q1))
		{
			if ( is_null($row1[2]) )
				continue;
			$picture = db_query( "select filename, thumbnail, enlarged from ".
				PRODUCT_PICTURES." where photoID=".$row1[2] );
			$picture_row = db_fetch_row( $picture );
			if ( $picture_row )
			{
			 	if ( file_exists( "./products_pictures/".$picture_row[0] ) )
				{
					$row1[2] = $picture_row[0];
					$row1[3] = show_price($row1[3]);
					$result[] = $row1;
				}
			}
		}
	}

	$smarty->assign("special_offers",$result);
	
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху