1

Opencart(製品ページ)で説明が長い場合、製品ページの読み込みを減らすために製品説明を非表示にするにはどうすればよいですか。詳細リンクをクリックすると、完全な説明が出てきます。画像では例を見ることができます, 私の悪い英語でごめんなさい, ありがとう! これは、サンプル画像の例へのリンクです

4

1 に答える 1

0

なぜそれを切り捨てないのですか?毎回適切な長さになります。

catalog/controller/product/category.php に移動すると、

foreach ($results as $result) {
    if ($result['image']) {
        $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
    } else {
        $image = false;
    }

次にこれを追加します。

function truncate($description, $tLimit="20", $break=" ", $pad="...")
{
  if(strlen($string) <= $tlimit) return $string;

  if(false !== ($breakpoint = strpos($string, $break, $tlimit))) {
    if($breakpoint < strlen($string) - 1) {
      $string = substr($string, 0, $breakpoint) . $pad;
    }
   }

   return $description;
 }

変数は自由に変更してください。

$tLimitは許可する文字数です。

$breakは切り取りたい場所で、現在は次のスペースで切り捨てるように設定されています。必要に応じて、 $break="" を入れることで単語を中断させることができます

$padは、テキストを切り取った後に表示したいものです。

説明をまったく表示したくない場合は、元のスクリプトと同様のことを行うことをお勧めします。

function getDescriptionLength($description, $tLimit="20")
{
  if(strlen($string) <= $tlimit) return $string;

  else {
    $description = NULL;
  }

  return $description;
}
于 2012-07-13T15:24:15.240 に答える