第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

恢復(fù)遷移到 Magento 2 的產(chǎn)品描述中的換行符

恢復(fù)遷移到 Magento 2 的產(chǎn)品描述中的換行符

PHP
富國滬深 2022-01-02 14:44:40
我正在幫助將舊的 Magento 1.6 站點(diǎn)遷移到 Magento 2.3,它看起來像以純文本形式輸入的產(chǎn)品描述和簡短描述,其中包含最少的標(biāo)記和換行符以形成段落,現(xiàn)在看起來一切都被粉碎成一個段落,而頁面源仍然正確呈現(xiàn)空白并顯示換行符。但是沒有標(biāo)簽,瀏覽器會忽略空格。在 Magento 2 中,我們希望使用 WYSIWYG 編輯器來更好地格式化產(chǎn)品描述,但我們希望遷移的產(chǎn)品至少可以正確格式化。這個線程似乎描述了我想要做什么,將描述模板包裝在 nl2br() 方法中:Linebreak in magento product description when NOT using wysiwyg這看起來是解決這個問題的好方法,而且不會影響我們未來的產(chǎn)品描述(使用 WYSIWYG)的顯示方式,至少我認(rèn)為是這樣?這個解決方案適用于 Magento 1,所以我必須找到 Magento 2 的等價物。我在 /vendor/magento/module-catalog/view/frontend/templates/product/view/description.phtml 中找到了 description.phtml 模板該行現(xiàn)在是:<?= /* @escapeNotVerified */ $this->helper('Magento\Catalog\Helper\Output')->productAttribute($block->getProduct(), $block->getProduct()->getDescription(), 'description') ?>我如何在這里應(yīng)用 nl2br() ?我只是將它包裝在“getDescription()”周圍還是應(yīng)該放在其他地方?我應(yīng)該將新模板放在我的自定義主題中的什么位置以使其覆蓋默認(rèn)值?我在文件結(jié)構(gòu)中嘗試了幾種變體和不同位置,但我所做的一切似乎都沒有生效。我不是開發(fā)人員,所以我可能在這里犯了基本錯誤。我什至試圖故意搞砸代碼,但它沒有做任何事情,所以我很確定模板不在正確的位置,或者我沒有清除正確的緩存?我正在使用緩存:清除和緩存:刷新,甚至刪除 pub/static/frontend 和 var/view_preprocessed 以防萬一,但似乎沒有任何效果。我考慮的另一種方法是使用 CSS 添加一個“whitespace:pre-line;” 屬性歸于 .description 類,但雖然它會修復(fù)遷移的數(shù)據(jù),但當(dāng)我在瀏覽器的開發(fā)人員模式下測試它時,我注意到它使使用 WYSIWYG 編輯器輸入的新產(chǎn)品中的空白空間加倍,這不是最佳的前進(jìn)。我對 LESS 也不是很熟悉,所以我不確定把這條規(guī)則放在哪里最好。會在_theme.less 中嗎?_extend.less?我的最后一個想法是嘗試找出一個 MySQL 命令來進(jìn)行一次性替換,以便 \n 成為description 和 shortdescription 屬性中的標(biāo)簽,但我對 MySQL 的了解不足以做類似的事情。那么我應(yīng)該追求哪種解決方案以及我應(yīng)該使用什么語法?我感覺自己就像一個糟糕的臺球運(yùn)動員,他知道我可以采取什么角度但不能擊球!
查看完整描述

1 回答

?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個贊

好吧,我不知道如何讓 nl2br() 工作,但我在 catalog_product_entity_text 表中找到了產(chǎn)品描述和簡短描述,以及目錄產(chǎn)品的其他屬性。

我做了一些測試,發(fā)現(xiàn)使用 WYSIWYG 編輯器編輯的產(chǎn)品在其條目中有 html 代碼,而遷移的文本只有換行符。手動插入 html 標(biāo)簽達(dá)到了預(yù)期的效果,在與團(tuán)隊確認(rèn)他們更喜歡使用br而非p標(biāo)簽來生成換行符后,我能夠使用以下查詢修復(fù)所有問題:

說明(attribute_id 61)

UPDATE catalog_product_entity_text SET value = REPLACE( value, '\r\n', '<br />' ) WHERE attribute_id = "61"

簡短說明(attribute_id 62)

UPDATE catalog_product_entity_text SET value = REPLACE( value, '\r\n', '<br />' ) WHERE attribute_id = "62"

如果這不起作用,我可能只在替換值中嘗試了 '\n' ,但它在第一次運(yùn)行時就開始了,一切都按預(yù)期進(jìn)行。終于解脫了!

如果有人知道我如何修改 php 模板來實(shí)現(xiàn)這一點(diǎn)(以及該文件應(yīng)該放在哪里),我想知道以供將來參考和其他人的緣故。


查看完整回答
反對 回復(fù) 2022-01-02
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號