バージョン選択

フォーラム

メニュー

オンライン状況

90 人のユーザが現在オンラインです。 (80 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 90
もっと...

サイト内検索

質問 > 管理機能 > 商品説明の文字数制限を3000文字以上に変更したいです

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
2645dfd
投稿日時: 2025/2/14 12:58
対応状況: 解決済
常連
登録日: 2022/5/2
居住地:
投稿: 35
商品説明の文字数制限を3000文字以上に変更したいです
▼テンプレート
[EC-CUBE] EC-CUBE 4.2.1
[レンタルサーバ] エックスサーバー
[OS] Windows
[PHP] 8.1.29
[データベース] phpmyadmin(MySQL5.7)
[導入プラグインの有無]
おすすめ商品管理プラグイン 4.3.0 
関連商品プラグイン 4.3.0 
データ移行プラグイン 4.3.0 
PGマルチペイメントサービス決済プラグイン 1.0.6 
EC-CUBEペイメント決済プラグイン(4.2系)
[カスタマイズの有無] 関係ないかもしれませんが商品説明でcssタグを使えるようにしてます
[現象]

商品説明(description_detail)の文字数制限を変更したいです。
過去の質問を参考に以下のことを試しまして、保存時のエラーは表示されませんが、自動的に3000文字以下に切り捨てられてしまいます。

■src/Eccube/Form/Type/Admin/ProductType.php
->add('description_detail', TextareaType::class, [
'purify_html' => true,
'constraints' => [
new Assert\Length(['max' => $this->eccubeConfig['eccube_lltext_len']]),
],
])

eccube_lltext_lenに変更

■src/Eccube/Entity/Product.php
/**
* @var string|null
*
*  @ORM\Column(name="description_detail", type="string", length=10000, nullable=true)
*/
private $description_detail;

type="string", length=10000に変更

■データベース構造はこの様になっています。
dtb_product.description_detail varcharvarchar(10000)

■参考にさせていただいた質問
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=27798&forum=11&post_id=110218#forumpost110218
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=24995&forum=11&post_id=101012#forumpost101012

proxy の再生成とスキーマ更新のコマンドを試しましてデータベースには反映されましたが、「composer dump-autoload」実行時にエラーがでたのでそれが原因かもしれません。

エラー:
PHP Parse error: syntax error, unexpected '?' in vendor/symfony/flex/src/Flex.php on line 129
Parse error: syntax error, unexpected '?' in
vendor/symfony/flex/src/Flex.php on line 129

該当の記述内容:
vendor/symfony/flex/src/Flex.php on line 129
  $symfonyRequire = preg_replace('/\.x$/', '.x-dev', getenv('SYMFONY_REQUIRE') ?: ($composer->getPackage()->getExtra()['symfony']['require'] ?? ''));>

「??」部分がphpverが低いためのエラーかと考えましたが、「php -v」で確認してPHP 8.1.29 であると確認しました。

過去のご質問を参考に解決できると考えていましたが、ご助言いただけると幸いです。
mcontact
投稿日時: 2025/2/17 17:03
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1709
Re: 商品説明の文字数制限を3000文字以上に変更したいです
商品説明の文字数制限の改修だけであれば、
src/Eccube/Form/Type/Admin/ProductType.php
src/Eccube/Entity/Product.php
の改修と下記コマンド実行のみであり「composer dump-autoload」コマンドを実行する必要は基本的にないです。

rm -f app/proxy/entity/src/Eccube/Entity/*.php
php bin/console cache:clear --no-warmup
php bin/console eccube:generate:proxies
php bin/console doctrine:schema:update --dump-sql
php bin/console doctrine:schema:update --dump-sql --force


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2645dfd
投稿日時: 2025/3/13 15:59
対応状況: −−−
常連
登録日: 2022/5/2
居住地:
投稿: 35
Re: 商品説明の文字数制限を3000文字以上に変更したいです
ご返信ありがとうございます!確認遅くなりまして申し訳ありません。
その後、ProductType.phpをよく確認しましたらのlltext_lenが反映されておりませんでした。
このようにして、文字制限を1万文字にすることができました。
1万文字以上はエラー文章はでませんが、自動的に1万文字以下に削除される挙動のようでした。

ありがとうございました。


■ファイル改修

---src/Eccube/Form/Type/Admin/ProductType.php
->add('description_detail', TextareaType::class, [
'purify_html' => true,
'constraints' => [
new Assert\Length(['max' => $this->eccubeConfig['eccube_lltext_len']]),
],
])

---src/Eccube/Entity/Product.php
/**
* @var string|null
*
* @ORM\Column(name="description_detail", type="string", length=10000, nullable=true)
*/
private $description_detail;

■データベース
dtb_product.description_detail varcharvarchar(10000)

■コマンドを実行

rm -f app/proxy/entity/src/Eccube/Entity/*.php
php bin/console cache:clear --no-warmup
php bin/console eccube:generate:proxies
php bin/console doctrine:schema:update --dump-sql
php bin/console doctrine:schema:update --dump-sql --force

■キャッシュ削除
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は106,405名です
総投稿数は112,618件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2331
5
umebius
2085
6
h_tanaka
2007
7
yuh
1900
8
mcontact
1709
9
red
1582
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.