Open cart въпрос admin/product_form.tpl

a4kata

Member
Имам следната функция, която преобразува имена като apple ipad 2 на apple-ipad-2

Код:
                function get_link_SEO(str)
                {
                    
                    str= str.toLowerCase();    
                    str= str.replace(/Г |ГЎ|бєЎ|бєЈ|ГЈ|Гў|бє§|ấ|бє*|бє©|бє«|Дѓ|бє±|бєЇ|бє·|бєі|бєµ/g,"a");    
                    str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");

                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    
                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    

                    str= str.replace(/Г¬|Г*|б»‹|ỉ|Д©/g,"i");    
                    str= str.replace(/ì|í|ị|ỉ|ĩ/g,"i");    

                    str= str.replace(/ГІ|Гі|б»Ќ|б»Џ|Гµ|Гґ|б»“|б»‘|б»™|б»•|б»—|ЖЎ|б»ќ|б»›|б»Ј|б»џ|б»Ў/g,"o");    
                    str= str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ơ|ỗ|ờ|ớ|ợ|ở|ỡ/g,"o");    

                    str= str.replace(/Г№|Гє|ụ|ủ|Е©|Ж°|б»«|б»©|б»±|б»*|б»Ї/g,"u");    
                    str= str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u");    

                    str= str.replace(/б»і|ГЅ|б»µ|б»·|б»№/g,"y");    
                    str= str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y");    

                    str= str.replace(/Д‘/g,"d");    
                    str= str.replace(/Д‘/g,"d");

                    str= str.replace(/!|@|\$|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\'| |\"|\&|\#|\[|\]|~/g,"-");
                    str= str.replace(/-+-/g,"-");    
                    str= str.replace(/^\-+|\-+$/g,"");
                    str= str.replace(/--/g,"-");
                    str= str.replace(/---/g,"-");
                    str= str.replace(/----/g,"-");
                    str= str.replace(/-----/g,"-");
                        
                    return str;

                }

Имам минимални познания по php и това, което се опитвам да направя е автоматично да преобразува името на продукта от админ панела с тирета чрез функцията и да го слага автоматично в seo keyword input-a.

Код:
            <tr>
              <td><?php echo $entry_keyword; ?></td>
              <td><input type="text" name="keyword" value="<?php echo $product_description[$language['language_id']]['name']; ?>" /></td>
            </tr>

С този код слага автоматично името без терета и функция, но как мога да използвам функцията, както и да сложа една проверка да го прави само ако seo keyword е празен ?
 
От: Open cart въпрос admin/product_form.tpl

Имам следната функция, която преобразува имена като apple ipad 2 на apple-ipad-2

Код:
                function get_link_SEO(str)
                {
                    
                    str= str.toLowerCase();    
                    str= str.replace(/Г |ГЎ|бєЎ|бєЈ|ГЈ|Гў|бє§|ấ|бє*|бє©|бє«|Дѓ|бє±|бєЇ|бє·|бєі|бєµ/g,"a");    
                    str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");

                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    
                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    

                    str= str.replace(/Г¬|Г*|б»‹|ỉ|Д©/g,"i");    
                    str= str.replace(/ì|í|ị|ỉ|ĩ/g,"i");    

                    str= str.replace(/ГІ|Гі|б»Ќ|б»Џ|Гµ|Гґ|б»“|б»‘|б»™|б»•|б»—|ЖЎ|б»ќ|б»›|б»Ј|б»џ|б»Ў/g,"o");    
                    str= str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ơ|ỗ|ờ|ớ|ợ|ở|ỡ/g,"o");    

                    str= str.replace(/Г№|Гє|ụ|ủ|Е©|Ж°|б»«|б»©|б»±|б»*|б»Ї/g,"u");    
                    str= str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u");    

                    str= str.replace(/б»і|ГЅ|б»µ|б»·|б»№/g,"y");    
                    str= str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y");    

                    str= str.replace(/Д‘/g,"d");    
                    str= str.replace(/Д‘/g,"d");

                    str= str.replace(/!|@|\$|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\'| |\"|\&|\#|\[|\]|~/g,"-");
                    str= str.replace(/-+-/g,"-");    
                    str= str.replace(/^\-+|\-+$/g,"");
                    str= str.replace(/--/g,"-");
                    str= str.replace(/---/g,"-");
                    str= str.replace(/----/g,"-");
                    str= str.replace(/-----/g,"-");
                        
                    return str;

                }

Имам минимални познания по php и това, което се опитвам да направя е автоматично да преобразува името на продукта от админ панела с тирета чрез функцията и да го слага автоматично в seo keyword input-a.

Код:
            <tr>
              <td><?php echo $entry_keyword; ?></td>
              <td><input type="text" name="keyword" value="<?php echo $product_description[$language['language_id']]['name']; ?>" /></td>
            </tr>

С този код слага автоматично името без терета и функция, но как мога да използвам функцията, както и да сложа една проверка да го прави само ако seo keyword е празен ?


HTML:
            <tr>
              <td><?php echo $entry_keyword; ?></td>
              <td><input type="text" name="keyword" value="<?php if(isset($row->keyword)) ? $row->keyword : $product_description[$language['language_id']]['name']; ?>" /></td>
            </tr>

Като $row->keyword го замени според това как се извеждат данните.
 
От: Open cart въпрос admin/product_form.tpl

Да, ама аз искам да става автоматично, не чрез кликване на бутон, това е разликата...
 
От: От: Open cart въпрос admin/product_form.tpl

HTML:
            <tr>
              <td><?php echo $entry_keyword; ?></td>
              <td><input type="text" name="keyword" value="<?php if(isset($row->keyword)) ? $row->keyword : $product_description[$language['language_id']]['name']; ?>" /></td>
            </tr>

Като $row->keyword го замени според това как се извеждат данните.

Parse error: syntax error, unexpected '?' in /...catalog/product_form.tpl on line 209

Това предполагам е проверката, а как мога да имплементирам и функцията ?
 
От: От: Open cart въпрос admin/product_form.tpl

Parse error: syntax error, unexpected '?' in /...catalog/product_form.tpl on line 209

Това предполагам е проверката, а как мога да имплементирам и функцията ?

Дай кода де.

Сега ти прочетох поста, дай повече инфо, че няква глупост съм написал.
 
От: Open cart въпрос admin/product_form.tpl

Код:
<modification>
    <id>VQMod Manager Landing Salepage</id>
    <version>1.0.0</version>
    <vqmver>2.3.0</vqmver>
    <author>Le Viet Hop</author>
    
    <file name="admin/view/template/catalog/product_form.tpl">
        <operation error="abort">
            <search position="before"><![CDATA[<td><?php echo $entry_meta_description; ?></td>]]></search>
            <add><![CDATA[<td>Auto SEO Link</td>
                <td><a class="button" onclick="auto_SEO_link('_description_<?php echo $language['language_id']; ?>','.html')">Run SEO</a>
                <script type="text/javascript">
                function auto_SEO_link(e,ex){
    
                    var name = $("#"+e).val();
                    if(ex!=null){
                        var link_name = get_link_SEO(name)+ex;
                    }else{
                        var link_name = get_link_SEO(name);
                    }
                    $("input[name='keyword']").val(link_name);
                }

                function get_link_SEO(str)
                {
                    
                    str= str.toLowerCase();    
                    str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");    
                    str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");

                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    
                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    

                    str= str.replace(/ì|í|ị|ỉ|ĩ/g,"i");    
                    str= str.replace(/ì|í|ị|ỉ|ĩ/g,"i");    

                    str= str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,"o");    
                    str= str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ơ|ỗ|ờ|ớ|ợ|ở|ỡ/g,"o");    

                    str= str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u");    
                    str= str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u");    

                    str= str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y");    
                    str= str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y");    

                    str= str.replace(/đ/g,"d");    
                    str= str.replace(/đ/g,"d");

                    str= str.replace(/!|@|\$|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\'| |\"|\&|\#|\[|\]|~/g,"-");
                    str= str.replace(/-+-/g,"-");    
                    str= str.replace(/^\-+|\-+$/g,"");
                    str= str.replace(/--/g,"-");
                    str= str.replace(/---/g,"-");
                    str= str.replace(/----/g,"-");
                    str= str.replace(/-----/g,"-");
                        
                    return str;

                }
                </script>
                </td>
              </tr><tr>]]></add>
        </operation>
        
        <operation error="abort">
            <search position="replace"><![CDATA[<input type="text" name="product_description[<?php echo $language['language_id']; ?>][name]" size="100" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" />
]]></search>
            <add><![CDATA[<input type="text" id="_description_<?php echo $language['language_id']; ?>" name="product_description[<?php echo $language['language_id']; ?>][name]" size="100" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" />]]></add>
        </operation>
    </file>
    
    

    
    
</modification>



Това е екстеншъна, който прави нещата само че го прави с бутон, а аз искам да стане автоматично.
 
От: Open cart въпрос admin/product_form.tpl

HTML:
<modification>
    <id>VQMod Manager Landing Salepage</id>
    <version>1.0.0</version>
    <vqmver>2.3.0</vqmver>
    <author>Le Viet Hop</author>
    
    <file name="admin/view/template/catalog/product_form.tpl">
        <operation error="abort">
            <search position="before"><![CDATA[<td><?php echo $entry_meta_description; ?></td>]]></search>
            <add><![CDATA[<td>Auto SEO Link</td>
                <td>
                <script type="text/javascript">
				 
				
                function auto_SEO_link(e,ex){
					
                    var name = $("#"+e).val();
                    if(ex!=null){
                        var link_name = get_link_SEO(name)+ex;
                    }else{
                        var link_name = get_link_SEO(name);
                    }
                    $("input[name='keyword']").val(link_name);
                }

                function get_link_SEO(str)
                {
                    
                    str= str.toLowerCase();    
                    str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");    
                    str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");

                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    
                    str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");    

                    str= str.replace(/ì|í|ị|ỉ|ĩ/g,"i");    
                    str= str.replace(/ì|í|ị|ỉ|ĩ/g,"i");    

                    str= str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,"o");    
                    str= str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ơ|ỗ|ờ|ớ|ợ|ở|ỡ/g,"o");    

                    str= str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u");    
                    str= str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u");    

                    str= str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y");    
                    str= str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y");    

                    str= str.replace(/đ/g,"d");    
                    str= str.replace(/đ/g,"d");

                    str= str.replace(/!|@|\$|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\'| |\"|\&|\#|\[|\]|~/g,"-");
                    str= str.replace(/-+-/g,"-");    
                    str= str.replace(/^\-+|\-+$/g,"");
                    str= str.replace(/--/g,"-");
                    str= str.replace(/---/g,"-");
                    str= str.replace(/----/g,"-");
                    str= str.replace(/-----/g,"-");
                        
                    return str;

                }
				window.onload = auto_SEO_link;
                </script>
                </td>
              </tr><tr>]]></add>
        </operation>
        
        <operation error="abort">
            <search position="replace"><![CDATA[<input type="text" name="product_description[<?php echo $language['language_id']; ?>][name]" size="100" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" />
]]></search>
            <add><![CDATA[<input type="text" id="_description_<?php echo $language['language_id']; ?>" name="product_description[<?php echo $language['language_id']; ?>][name]" size="100" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" />]]></add>
        </operation>
    </file>
    
    

    
    
</modification>

JS ич не го чувам, пробвай така.
 
От: Open cart въпрос admin/product_form.tpl

Автоматично за 2-ката е това
Automatic url friendly - Url amigavel automatica
Аз го ползвах за едни клиенти, но внимавай да не промениш вече индексирани линкове - това му е проблема на автоматичното добавяне.
 

Горе