Автозаполнение URL

rifle

rifle

Шопмейкер
#1
Новый клиент у которого установленная сборка, столкнулся с неудобствами при добавлении новых товаров, у нас со старта установлено 3 локализации, рядовой человек не особо понимает как правильно заполнять url, а ему надо быстро добавить товар, тут сразу же пошли сложности по заполнении title, model и url ( о которых он вообще не шарит ) Особенно если продавец после прома. Предлагаю добавить автозаполнение url согласно названий товара и убрать обязательность поля модели*
Код:
<file path="admin/view/template/common/footer.twig">
        <operation>
            <search><![CDATA[</body>]]></search>
            <add position="before">
            <![CDATA[
            <script type="text/javascript"><!--
                function seoUrlFill(string,pageType,lang='en',langId='1'){var delimiter='-',keyword=$('input[name="'+pageType+'_seo_url[0]['+langId+']"]'),abc={'ß':'ss','à':'a','á':'a','â':'a','ã':'a','ä':'a','å':'a','æ':'ae','ç':'c','è':'e','é':'e','ê':'e','ë':'e','ì':'i','í':'i','î':'i','ï':'i','ð':'d','ñ':'n','ò':'o','ó':'o','ô':'o','õ':'o','ö':'o','ő':'o','ø':'o','ù':'u','ú':'u','û':'u','ü':'u','ű':'u','ý':'y','þ':'th','ÿ':'y','α':'a','β':'b','γ':'g','δ':'d','ε':'e','ζ':'z','η':'h','θ':'8','ι':'i','κ':'k','λ':'l','μ':'m','ν':'n','ξ':'3','ο':'o','π':'p','ρ':'r','σ':'s','τ':'t','υ':'y','φ':'f','χ':'x','ψ':'ps','ω':'w','ά':'a','έ':'e','ί':'i','ό':'o','ύ':'y','ή':'h','ώ':'w','ς':'s','ϊ':'i','ΰ':'y','ϋ':'y','ΐ':'i','ş':'s','ı':'i','ç':'c','ü':'u','ö':'o','ğ':'g','а':'a','б':'b','в':'v','г':'g','д':'d','е':'e','ё':'yo','ж':'zh','з':'z','и':'i','й':'j','к':'k','л':'l','м':'m','н':'n','о':'o','п':'p','р':'r','с':'s','т':'t','у':'u','ф':'f','х':'h','ц':'c','ч':'ch','ш':'sh','щ':'sh','ъ':'','ы':'y','ь':'','э':'e','ю':'yu','я':'ya','є':'ye','і':'i','ї':'yi','ґ':'g','č':'c','ď':'d','ě':'e','ň':'n','ř':'r','š':'s','ť':'t','ů':'u','ž':'z','ą':'a','ć':'c','ę':'e','ł':'l','ń':'n','ó':'o','ś':'s','ź':'z','ż':'z','ā':'a','č':'c','ē':'e','ģ':'g','ī':'i','ķ':'k','ļ':'l','ņ':'n','š':'s','ū':'u','ž':'z','ө':'o','ң':'n','ү':'u','ә':'a','ғ':'g','қ':'q','ұ':'u','ა':'a','ბ':'b','გ':'g','დ':'d','ე':'e','ვ':'v','ზ':'z','თ':'th','ი':'i','კ':'k','ლ':'l','მ':'m','ნ':'n','ო':'o','პ':'p','ჟ':'zh','რ':'r','ს':'s','ტ':'t','უ':'u','ფ':'ph','ქ':'q','ღ':'gh','ყ':'qh','შ':'sh','ჩ':'ch','ც':'ts','ძ':'dz','წ':'ts','ჭ':'tch','ხ':'kh','ჯ':'j','ჰ':'h'};switch(lang){case'bg':abc['щ']='sht';abc['ъ']='a';break;case'uk':abc['и']='y';break;}
                string=string.toLowerCase();for(var k in abc){string=string.replace(RegExp(k,'g'),abc[k]);}
                var alnum=(typeof(XRegExp)==='undefined')?RegExp('[^a-z0-9]+','ig'):XRegExp('[^\\p{L}\\p{N}]+','ig');string=string.replace(alnum,delimiter);string=string.replace(RegExp('['+delimiter+']{2,}','g'),delimiter);string=string.replace(RegExp('(^'+delimiter+'|'+delimiter+'$)','g'),'');if(keyword.length&&keyword.val()==''){keyword.val(string);}}
            //--></script>
            ]]>
            </add>
        </operation>
    </file>

    <file path="admin/view/template/catalog/product_form.twig">
        <operation>
            <search><![CDATA[name="product_description[{{ language.language_id }}][name]"]]></search>
            <add position="replace">
                <![CDATA[name="product_description[{{ language.language_id }}][name]" onchange="seoUrlFill(this.value,'product','{{ language.code|slice(0,2)|lower }}',{{ language.language_id }});"]]>
            </add>
        </operation>
    </file>
      <file path="admin/view/template/catalog/category_form.twig">
        <operation>
            <search><![CDATA[name="category_description[{{ language.language_id }}][name]"]]></search>
            <add position="replace">
                <![CDATA[name="category_description[{{ language.language_id }}][name]" onchange="seoUrlFill(this.value,'category','{{ language.code|slice(0,2)|lower }}',{{ language.language_id }});"]]>
            </add>
        </operation>
    </file>

    <file path="admin/view/template/catalog/manufacturer_form.twig">
        <operation>
            <search><![CDATA[name="name"]]></search>
            <add position="replace">
                <![CDATA[name="name" onchange="seoUrlFill(this.value,'manufacturer');"]]>
            </add>
        </operation>
    </file>

    <file path="admin/view/template/catalog/information_form.twig">
        <operation>
            <search><![CDATA[name="information_description[{{ language.language_id }}][title]"]]></search>
            <add position="replace">
                <![CDATA[name="information_description[{{ language.language_id }}][title]" onchange="seoUrlFill(this.value,'information','{{ language.code|slice(0,2)|lower }}',{{ language.language_id }});"]]>
            </add>
        </operation>
    </file>
 
Baco

Baco

architect
#2
решение на скорую руку, в ранних версиях бро, были такие удобства, выпилилось в связи с тем, что не всем это надо, обычно используют навороченные генераторы. Напишите Артуру, пусть добавит вас в корп. раздел, там скину наработки по сео-генератору, там и метатеги и урлы, в общем - швейцарский томагавк.
 
Симпатії: rifle
S

SlaSoft

Maestro
#3
Чем не подходит бесплатный мод заполнения..? в карточек товара?

Тут проблема в том, что сео -часть вденеия бизнеса в магазине

не хочу думать сам про сео - плати денег кому угодно.
Хочу понимать как это работает - пару символов при заполнении карточки товара можно добавить
 
Зверху