Дублировать модуль "Оплата наличными"

Автор agressora, 01 марта 2014, 15:24:59

« назад - далее »

agressora

Здравствуйте, переделал модуль "Оплата наличными 0.4" изменил текст перевода и вставил картинку web-money
а в шаблон письма вставил реквизиты щета - z кошелька, скажите... как вытащить модуль и изменить его так что бы
он был копией но отдельно? К примеру сейчас он как: Оплата наличными на web-money

Хочу на создавать его отдельных копий и изменить всем им названия
Денежный перевод при помощи WesternUnion
Денежный перевод при помощи MoneyGram
Денежный перевод при помощи Unistream и т.д
И создать всем им шаблоны писем. Не поможете с решением этой задачи, очень прошу
Интернет магазин ювелирных украшений - http://web-shopnet.com/

DarinSr

Копируйте модуль и измените название. Измените название файла php в папке модуля и в этом файле название класса
Старый модуль:
mymodule
- - mymodule.php
- - - -  class MyModule
Новый модуль:
mymodule1
- - mymodule1.php
- - - -  class MyModule1


agressora

#2
Насчет темы Намек понял, просто не хотел засорять форум лишними темами.
Итак
Насколько я понял "Оплата наличными" это модуль - cashondelivery?
Назвал его папку mycashondelivery и файл в ней cashondelivery.php изменил на mycashondelivery.php
и в этом-же файле mycashondelivery.php надо изменить класс с CashOnDelivery на MyCashOnDelivery?
Я всё правильно понял? Сделал всё так и толку от этого нет. Тогда я зашел в каждый файл и нашел название
mod='cashondelivery'}</h2>Добавил везде на всякий случай с cashondelivery на mycashondelivery
Всё-ровно результата нет. Ещё изменил эту строку
$this->name = 'mycashondelivery';в файле mycashondelivery.php
Не сработало. Тогда я изменил обратно то что вы не писали изменять и попробывал проставить права
и всё-ровно результата нет. По видимому он продолжает видеть модуль как отражение самого себя
Удалил папку mycashondelivery и создал как вы написали - cashondelivery1
Что посоветуете сделать?
Интернет магазин ювелирных украшений - http://web-shopnet.com/

Vasiy

А в файлах config.xml    cashondelivery/controllers/front/validation.php    cashondelivery/views/templates/front/validation.tpl
cashondelivery/views/templates/front/confirmation.tpl   cashondelivery/views/templates/front/payment.tpl

А файлы cashondelivery.jpg и cashondelivery.gif
Не боги горшки обжигают, не зачем им такой хренью заниматься.

mAgency

Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

Виталий

Файл config.xml удалить в новом модуле.
Файлы картинок переименовать mycashondelivery.jpg и mycashondelivery.gif.
В файле validation.php именить название класса
class MyCashondeliveryValidationModuleFrontController extends ModuleFrontController
{

В файле mycashondelivery.php изменить класс, название и удалить или изменить переменные конфигурации.
class MyCashOnDelivery extends PaymentModule
{
public function __construct()
{
$this->name = 'mycashondelivery';

                /* Удалить или, если нужно использовать, переменовать*/
$updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT');
if (!Configuration::get('PS_OS_PAYMENT'))
foreach ($updateConfig as $u)
if (!Configuration::get($u) && defined('_'.$u.'_'))
Configuration::updateValue($u, constant('_'.$u.'_'));

Во всех файлах, которые находятся в папке модуля, найти cashondelivery и заменить на mycashondelivery.
Если конф.переменные  были измены, то во всех файлах найти и заменить из на новые.
Cоздание интернет сайтов Webstudio UwK

agressora

#6
Цитата: Виталий от 02 марта 2014, 15:03:56
Файл config.xml удалить в новом модуле.
Класс изменил имя файла с cashondelivery.php на mycashondelivery.php тоже.
Не очень понял этот момент с config.xml я его удалил а ниже написано

Цитата: Виталий от 02 марта 2014, 15:03:56
В файле mycashondelivery.php изменить класс, название и удалить или изменить
переменные конфигурации..

class MyCashOnDelivery extends PaymentModule
{
public function __construct()
{
$this->name = 'mycashondelivery';

                /* Удалить или, если нужно использовать, переменовать*/
$updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT');
if (!Configuration::get('PS_OS_PAYMENT'))
foreach ($updateConfig as $u)
if (!Configuration::get($u) && defined('_'.$u.'_'))
Configuration::updateValue($u, constant('_'.$u.'_'));


Цитата: Виталий от 02 марта 2014, 15:03:56
Во всех файлах, которые находятся в папке модуля, найти cashondelivery и заменить на mycashondelivery.
Если конф.переменные  были измены, то во всех файлах найти и заменить из на новые.

Где именно эти переменные и зачем они нужны без файла config.xml
Не могут ли они потом понадобится если их удалить?
Зачем их оставлять и переименовывать без файла config.xml?
Интернет магазин ювелирных украшений - http://web-shopnet.com/

PrestaMan

config.xml создается автоматом при установки модуля.
В других файлах используются ссылки на название модуля, поэтому их тоже нужно заменить
В шаблоне payment.tpl
<a href="{$link->getModuleLink('cashondelivery', 'validation', [], true)|escape:'html'}" title="{l s='Pay with cash on delivery (COD)' mod='cashondelivery'}" rel="nofollow">
и в других файлах.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

agressora

#8
Цитата: PrestaMan от 02 марта 2014, 20:45:12
В других файлах используются ссылки на название модуля, поэтому их тоже нужно заменить
В шаблоне payment.tpl
<a href="{$link->getModuleLink('cashondelivery', 'validation', [], true)|escape:'html'}" title="{l s='Pay with cash on delivery (COD)' mod='cashondelivery'}" rel="nofollow">
и в других файлах.

payment.tpl имеется введу в приделах модуля? /cashondelivery1/views/templates/hook/payment.tpl ? если да то изменил все
названия cashondelivery на mycashondelivery.

В какой форме можно переименовать переменные? и не нужно ли будет из за этого их переименования ещё что-то править или создавать?

class MyCashOnDelivery extends PaymentModule
{
public function __construct()
{
$this->name = 'mycashondelivery';

                /* Удалить или, если нужно использовать, переменовать*/
$updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT');
if (!Configuration::get('PS_OS_PAYMENT'))
foreach ($updateConfig as $u)
if (!Configuration::get($u) && defined('_'.$u.'_'))
Configuration::updateValue($u, constant('_'.$u.'_'));

Интернет магазин ювелирных украшений - http://web-shopnet.com/

tigran

$updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT');
if (!Configuration::get('PS_OS_PAYMENT'))
foreach ($updateConfig as $u)
if (!Configuration::get($u) && defined('_'.$u.'_'))
Configuration::updateValue($u, constant('_'.$u.'_'));

Это удалть можно.  Они уже определены модулем cashondelivery.

agressora

#10
Всё сделал, установил правда патом только права выставил, всё вроде корректно установилось
Спасибо всем огромное )) Дай Бог в будущем и свой модулек напишу
по части легких и красивых решений, интересно такая категория есть?!  ::)

Люди и все кто мне помогал если есть у кого понятные для начинающих докУменты для написания
своего модуля для престашопика с описанием библиотек функционала на нашем родном языке,
оставляйте ссылочки, Думаю не только мне будет интересно
Интернет магазин ювелирных украшений - http://web-shopnet.com/

kotan

Нуждаюсь так же в собственном модуле.
Уважаемый, agressora раз уж вы проделали всю эту работу, не поделитесь ли вы готовым результатом?
Спасибо

agressora

Проблема в том что мне пришлось всё переустанавливать и всё было потеряно.
В результате установил всё заново и отсюда же буду брать инструкцию как это делать снова.
Здесь всё написано - как это делать, просто я пока не дошел до этого этапа после новой
установки. Совсем скоро начну если будете ждать я отпишу последовательность хотя наверно
вы уже сами сделаете к этому времени
Интернет магазин ювелирных украшений - http://web-shopnet.com/

pitaxaya

Повозился и сделал дубликаты модуля оплаты (CashOnDelivery) кому нужны пишите на почту.

Миколас

Зачем писать если на форуме выкладывали клон этого модуля под названием CashOnDelivery1.
Его скачать и делай клонов сколько хочешь 2,3....