magentoネイティブキャプチャの外観をカスタマイズします。線と点の量を変更する


8

こんにちはすべてお
問い合わせフォームのキャプチャのレイアウトを変更したいと思います。含まれる線と点の量を減らす必要があるので、ユーザーはテキストをよりはっきりと見ることができます。
誰もがそれを行う方法について何か考えを持っていますか?
前もって感謝します。


これをチェックしましたか?magecomp.com/magento-new-recaptcha.html
Gaurav Jain

回答:


11

上記で答えた方法は良いアプローチではありません。

クラスZend_Captcha_Imageは変数を変更する関数を提供しました。あなたはこのようなものになる同じクラスで関数を見つけることができます:

public function setDotNoiseLevel ($dotNoiseLevel)
{
    $this->_dotNoiseLevel = $dotNoiseLevel;
    return $this;
}
/**
 * @param int $lineNoiseLevel
 */
public function setLineNoiseLevel ($lineNoiseLevel)
{
    $this->_lineNoiseLevel = $lineNoiseLevel;
    return $this;
}

またZend_Captcha_Image、Mageモデルクラスに拡張されMage_Captcha_Model_Zendます。したがって、これらの変数を設定するために、このMageモデルクラスを簡単にオーバーライドできます。

Mage_Captcha_Model_Zend:

public function __construct($params)
{
    if (!isset($params['formId'])) {
        throw new Exception('formId is mandatory');
    }
    $this->_formId = $params['formId'];
    $this->setExpiration($this->getTimeout());

    $this->setDotNoiseLevel(10);     // Added code
    $this->setLineNoiseLevel(0);     // Added code
}

これらの変数をコンストラクターで設定して、変更がページの読み込みやキャプチャの更新でも機能するようにします。

メイジコアファイルを変更する代わりに、上記の関数をオーバーライドする方が良いでしょう。


8

以下のコードを使用してキャプチャノイズを変更できます。

に行く: lib/Zend/Captcha/Image.php

要件に応じて以下の変数値を変更します

protected $_dotNoiseLevel = 10; // Increase the value if you want to increase amount of dots
protected $_lineNoiseLevel = 0; // Increase the value if you want to increase amount of lines

リファレンス:http : //magentoforall.blogspot.com.au/2012/11/magento-change-captcha-background-lines.html


3

Magento 2の場合:vendor \ magento \ zendframework1 \ library \ Zend \ Captcha \ Image.phpに移動します

このファイルには、キャプチャ画像のカスタマイズに使用できる以下の関数があります。

     /**
     * Set dot noise level
     *
     * @param int $dotNoiseLevel
     * @return Zend_Captcha_Image
     */
    public function setDotNoiseLevel ($dotNoiseLevel)
    {
        $this->_dotNoiseLevel = $dotNoiseLevel;
        return $this;
    }

    /**
     * Set line noise level
     *
     * @param int $lineNoiseLevel
     * @return Zend_Captcha_Image
     */
    public function setLineNoiseLevel ($lineNoiseLevel)
    {
        $this->_lineNoiseLevel = $lineNoiseLevel;
        return $this;
    }

この関数の値は、行番号122および129から変更できます。

/**
 * Number of noise dots on image
 * Used twice - before and after transform
 *
 * @var int
 */
protected $_dotNoiseLevel = 100;
/**
 * Number of noise lines on image
 * Used twice - before and after transform
 *
 * @var int
 */
protected $_lineNoiseLevel = 5;

これを共有してくれたDineshに感謝します。新しい質問を追加し、この回答を回答として投稿することをお勧めします。お探しの方にお役立てください。
ジャイミンスタリヤ2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.