截取一个名字,Magento 2 widget

Cut off a name, Magento 2 widget

我正在尝试从 Magento 2 小部件中删除 32 个字符的标题。

我进行了覆盖,并且有效(已测试),现在尝试缩短标题。找了好几个题目,试了好几遍,还是不行。

我目前的工作:

<strong class="product-item-name">
    <?php  
         $product-name : $block->escapeHtml($_item->getName());
         $truncated = (strlen($product-name) > 32) ? substr($string, 0, 32) . '...' : $product-name;
     ?>
     <a title="<?= $block->escapeHtml($_item->getName()) ?>"
      href="<?= $block->escapeUrl($block->getProductUrl($_item)) ?>"
      class="product-item-link">
          <?php echo $truncated; ?>
      </a>
</strong>

你犯了一个小错误。

$truncated = (strlen($product-name) > 32) ? substr($string, 0, 32) . '...' : $product-name;

在这里 substr($string, 0, 32) 你可以看到 $string 未定义的变量。

所以你需要使用 $product-name 来代替它。

你也有另外几个错误。

喜欢$product-name : $block->escapeHtml($_item->getName());应该有 $product-name = $block->escapeHtml($_item->getName());

您还需要将这样的变量 $product-name 更改为 $product_name

希望对您有所帮助

<strong class="product-item-name">
    <?php  
         $product_name = $block->escapeHtml($_item->getName());
         $truncated = (strlen($product_name) > 32) ? substr($product_name, 0, 32) . '...' : $product_name ;
     ?>
     <a title="<?= $block->escapeHtml($_item->getName()) ?>"
      href="<?= $block->escapeUrl($block->getProductUrl($_item)) ?>"
      class="product-item-link">
          <?php echo $truncated; ?>
      </a>
</strong>