Dodatkowe pole w formularzu

~uczeñ

No avatar

2006-05-23 23:30

Witajcie, chciałbym dodać sobię dodatkowe pole w formularzu zamówienia.

Przeanalizowałem wszystko i zmieniłem / dodałem następujące wpisy:

1. lang wklepałem dodatkowe nazwy
2. Templates: dodałem do tabelki wpisy w pliku orders_delivery.tpl oraz w Adminie w orders_more
3. Zmieniłem pliki orders.php i orders-admin.php w katalogu core.

Efekt: tabelka mi się pojawią łacznie z nazwami pól. Ale po wypełnieniu i kliknięciu wyślij strona się przeładowywuje i pojawia sie link powrót formularz się nie wysyła mail tez nie dochodzi.

Jeżeli możecie to bardzo proszę o informacje gdzie jeszcze należy coś zmienić.

Pozdrawiam
Tomek

uczeń

~uczeñ

No avatar

2006-05-24 14:41

Witam,

Panowie i Panie raz jeszcze zapytam, siedze już pół dnia i wszystko analizuje i nie znalazłem błędu w wpisie wszedzie dobrze dodałem przedrostki naz a/s/i i nić bardzo proszę o pomoc.
Czy to gdzieÅ› jeszcze siÄ™ coÅ› zmienia? ProszÄ™ o pomoc

Pozdrawiam
Tomek

Uczeń

wewior (OpenSolution)

Avatar: wewior

2006-05-24 15:00

wg mnie jeszcze najwazniejsze powinienes zmienic strukture w pliku orders-ff.php ale jesli tak zrobiles i nie dziala to musialbys mniej wiecej opisac co gdzie zmieniles, glownie chodzi o pliki pliki orders.php i orders-admin.php w katalogu core

~Uczeñ

No avatar

2006-05-24 16:16

a w jaki sposób w orders-ff.php.

w Pliku orders.php i orders-admin.php dodałem zmienne czy jak to się nazywa:
Plik orders.php:

<?php
if( !function_exists( 'throwOrderIdTemp' ) ){
/**
* Return temporary order id
* @return int
* @param int $iClient
* @param string $sOption
*/
function throwOrderIdTemp( $iClient, $sOption = 'add' ){
return dbThrowOrderIdTemp( $iClient, $sOption );
} // end function throwOrderIdTemp
}

if( !function_exists( 'throwOrder' ) ){
/**
* Return order data
* @return array
* @param int $iOrder
*/
function throwOrder( $iOrder ){
$aData = dbThrowOrder( $iOrder );
$aList = dbThrowOrderExt( $iOrder );

if( isset( $aData ) && is_array( $aData ) && isset( $aList ) && is_array( $aList ) ){
list( , $aList['iTime'], $aList['iCourier'], $aList['sCourier'], $aList['fCourierPrice'], $aList['sFirstName'], $aList['sLastName'], $aList['sCompanyName'], $aList['sStreet'], $aList['sZipCode'], $aList['sCity'], $aList['sTelephone'], $aList['sEmail'], $aList['sNip'], $aList['sIp'], $aList['sComment'], $aList['sFirstNameOdbiorcy'], $aList['sLastNameOdbiorcy'], $aList['sCompanyNameOdbiorcy'], $aList['sStreetOdbiorcy'], $aList['sZipCodeOdbiorcy'], $aList['sCityOdbiorcy'], $aList['sTelephoneOdbiorcy'], $aList['sDataDostawy'], ) = $aList;
list( $aList['iOrder'], $aList['iClient'], $aList['iStatus'] ) = $aData;

$aList = changeMassTxt( $aList, '' );
$aList['sDate'] = date( 'Y-m-d H:i:s', $aList['iTime'] );

return $aList;
}
} // end function throwOrder
}

if( !function_exists( 'checkOrderProducts' ) ){
/**
* Return true if products are defined to order
* @return void
* @param int $iOrder
*/
function checkOrderProducts( $iOrder ){
return dbCheckOrderProducts( $iOrder );
} // end function checkOrderProducts
}

if( !function_exists( 'addOrderProduct' ) ){
/**
* Add product to basket
* @return void
* @param int $iProduct
* @param int $iQuantity
* @param int $iOrder
*/
function addOrderProduct( $iProduct, $iQuantity, $iOrder ){
$aData = throwProduct( $iProduct );
if( isset( $aData ) ){
$aBasket = dbCheckOrderProduct( $iOrder, $iProduct );
if( isset( $aBasket ) && is_array( $aBasket ) ){
$aBasket[3] += $iQuantity;
dbSaveOrderProduct( $aBasket );
}
else{
dbAddOrderProduct( $aData, $iQuantity, $iOrder );
}
}
} // end function addOrderProduct
}

if( !function_exists( 'saveOrderProduct' ) ){
/**
* Save product quantity
* @return void
* @param array $aForm
*/
function saveOrderProducts( $aForm ){
dbSaveOrderProducts( $aForm['aElements'] );
} // end function saveOrderProducts
}

if( !function_exists( 'delOrderElement' ) ){
/**
* Delete product in basket
* @return void
* @param int $iOrder
* @param int $iElement
*/
function delOrderElement( $iOrder, $iElement = null ){
dbDelOrderElement( $iOrder, $iElement );
} // end function delOrderElement
}

if( !function_exists( 'delOrder' ) ){
/**
* Del order
* @return void
* @param int $iOrder
*/
function delOrder( $iOrder ){
dbDelOrder( $iOrder );
delOrderElement( $iOrder );
} // end function delOrder
}

if( !function_exists( 'listBasket' ) ){
/**
* Generate basket list
* @return string
* @param int $iOrder
* @param string $sFile
*/
function listBasket( $iOrder, $sFile = 'orders_basket.tpl' ){
global $tpl, $aList;

$aData = dbListBasket( $iOrder );

if( isset( $aData ) ){
$iCount = count( $aData );
$fSummary = 0;
$content = null;

for( $i = 0; $i < $iCount; $i++ ){
list( $aList['iElement'], $aList['iOrder'], $aList['iProduct'], $aList['iQuantity'], $aList['fPrice'], $aList['sProduct'] ) = $aData[$i];

if( $i % 2 )
$aList['iStyle'] = 0;
else
$aList['iStyle'] = 1;

$aList['fSummary'] = tPrice( $aList['iQuantity'] * $aList['fPrice'] );

$fSummary += $aList['fSummary'];
$content .= $tpl->tbHtml( $sFile, 'LIST_LIST' );
} // end for

$aList['fSummary'] = tPrice( $fSummary );

return $tpl->tbHtml( $sFile, 'LIST_HEAD' ).$content.$tpl->tbHtml( $sFile, 'LIST_FOOTER' );
}
else
return $tpl->tbHtml( $sFile, 'NOT_FOUND' );
} // end function listBasket
}

if( !function_exists( 'saveOrder' ) ){
/**
* Save order
* @return void
* @param int $iOrder
* @param array $aForm
*/
function saveOrder( $iOrder, $aForm ){

$aForm = changeMassTxt( $aForm, '', Array( 'sComment', 'lenH' ) );

if( throwStrLen( $aForm['sComment'] ) < 2 )
$aForm['sComment'] = null;
elseif( throwStrLen( $aForm['sComment'] ) > 500 )
$aForm['sComment'] = substr( $aForm['sComment'], 0, 500 ).'...';

if( isset( $aForm['iCourier'] ) ){
$aCourier = explode( '|', $aForm['iCourier'] );
$aForm['iCourier'] = $aCourier[0];
}
else
$aForm['iCourier'] = null;

$aForm['iOrder'] = $iOrder;
$aCourier = throwCourier( $aForm['iCourier'] );

dbSaveOrder( $aForm );
dbAddOrderExtensions( Array( $aForm['iOrder'], time( ), $aForm['iCourier'], $aCourier['sName'], $aCourier['fPrice'], $aForm['sFirstName'], $aForm['sLastName'], $aForm['sCompanyName'], $aForm['sStreet'], $aForm['sZipCode'], $aForm['sCity'], $aForm['sTelephone'], $aForm['sEmail'], $aForm['sNip'], $aForm['sFirstNameOdbiorcy'], $aForm['sLastNameOdbiorcy'], $aForm['sCompanyNameOdbiorcy'], $aForm['sStreetOdbiorcy'], $aForm['sZipCodeOdbiorcy'], $aForm['sCityOdbiorcy'], $aForm['sTelephoneOdbiorcy'], $aForm['sDataDostawy'], $_SERVER['REMOTE_ADDR'], $aForm['sComment'] ) );

if( $GLOBALS['config']['mail_informing'] === true )
@mail( EMAIL, $GLOBALS['lang']['mail_title'], $GLOBALS['lang']['mail_txt'], 'FROM: '.EMAIL );
} // end function saveOrder
}

if( !function_exists( 'checkOrderFields' ) ){
/**
* Check order fields
* @return bool
* @param array $aForm
*/
function checkOrderFields( $aForm ){
if(
checkLength( $aForm['sFirstName'], 0 )
&& checkLength( $aForm['sLastName'], 0 )
&& checkLength( $aForm['sStreet'], 0 )
&& checkLength( $aForm['sZipCode'], 0 )
&& checkLength( $aForm['sCity'], 0 )
&& checkLength( $aForm['sTelephone'], 0 )
&& checkEmail( $aForm['sEmail'] )
&& checkLength( $aForm['sNip'], 0 )
&& checkLength( $aForm['sFirstNameOdbiorcy'], 0 )
&& checkLength( $aForm['sLastNameOdbiorcy'], 0 )
&& checkLength( $aForm['sCompanyNameOdbiorcy'], 0 )
&& checkLength( $aForm['sStreetOdbiorcy'], 0 )
&& checkLength( $aForm['sZipCodeOdbiorcy'], 0 )
&& checkLength( $aForm['sCityOdbiorcy'], 0 )
&& checkLength( $aForm['sTelephoneOdbiorcy'], 0 )
&& checkLength( $aForm['sDataDostawy'], 0 )
&& checkLength( $aForm['iCourier'], 1 )
)
return true;
else
return false;
} // end function checkOrderFields
}
?>
------------------------------------------------------------------------------------------------------------ --
<?php
if( !function_exists( 'saveOrderStatus' ) ){
/**
* Save order status
* @return void
* @param int $iOrder
* @param int $iStatus
*/
function saveOrderStatus( $iOrder, $iStatus ){
dbSaveOrderStatus( $iOrder, $iStatus );
} // end function saveOrderStatus
}

if( !function_exists( 'listOrders' ) ){
/**
* Wyswietlanie spisu zamowien
* @return string
* @param string $sFile
* @param string $sOption
*/
function listOrders( $sFile = 'orders_list.tpl', $sOption = 'list' ){
global $tpl, $aList;

if( !isset( $GLOBALS['iPage'] ) || !is_numeric( $GLOBALS['iPage'] ) || $GLOBALS['iPage'] < 1 )
$GLOBALS['iPage'] = 1;

if( $sOption == 'status' ){
$aData = dbListOrdersStatus( $_GET['iStatus'] );
$sPage = $GLOBALS['p'].'&amp;iStatus='.$GLOBALS['iStatus'];
}
elseif( $sOption == 'search' ){
$aData = dbListOrdersSearch( trim( $_GET['sWord'] ) );
$sPage = $GLOBALS['p'].'&amp;sWord='.$GLOBALS['sWord'];
}
else{
$aData = dbListOrders( );
$sPage = $GLOBALS['p'];
}

$content = null;

if( isset( $aData ) ){
$iCount = count( $aData );
$aStatus = dbThrowOrdersStatus( );

for( $i = 0; $i < $iCount; $i++ ){
list( $aList['iOrder'], $aList['iTime'], $aList['iCourier'], $aList['sCourier'], $aList['fCourierPrice'], $aList['sFirstName'], $aList['sLastName'], $aList['sCompanyName'], $aList['sStreet'], $aList['sZipCode'], $aList['sCity'], $aList['sTelephone'], $aList['sEmail'], $aList['sNip'], $aList['sIp'], $aList['sComment'], $aList['sFirstNameOdbiorcy'], $aList['sLastNameOdbiorcy'], $aList['sCompanyNameOdbiorcy'], $aList['sStreetOdbiorcy'], $aList['sZipCodeOdbiorcy'], $aList['sCityOdbiorcy'], $aList['sTelephoneOdbiorcy'], $aList['sDataDostawy'] ) = $aData[$i];

if( $i % 2 )
$aList['iStyle'] = 0;
else
$aList['iStyle'] = 1;

$aList = changeMassTxt( $aList, '' );
$aList['sDate'] = date( 'Y-m-d H:i:s', $aList['iTime'] );
$aList['sStatus']= throwOrderStatus( $aStatus[$aList['iOrder']] );

if( $aStatus[$aList['iOrder']] == 1 )
$aList['sStatus'] = '<b>'.$aList['sStatus'].'</b>';

$content .= $tpl->tbHtml( $sFile, 'LIST_LIST' );
} // end for

$aList['sPages'] = countPages( $aData[0]['iFindAll'], ADMIN_LIST, $GLOBALS['iPage'], $sPage );

return $tpl->tbHtml( $sFile, 'LIST_HEAD' ).$content.$tpl->tbHtml( $sFile, 'LIST_FOOTER' );
}
else
return $tpl->tbHtml( $sFile, 'NOT_FOUND' );
} // end function listOrders
}

if( !function_exists( 'delOrderMass' ) ){
/**
* Delete older then 24 hours not finished orders
* @return void
*/
function delOrderMass( ){
dbDelOrderMass( );
} // end function delOrderMass
}

if( !function_exists( 'throwOrderStatus' ) ){
/**
* Change orders status
* @return string
* @param int $iStatus
* @param bool $bAll
*/
function throwOrderStatus( $iStatus = 1, $bAll = null ){
global $lang;
$aStatus[1] = $lang['Pending'];
$aStatus[2] = $lang['Processing'];
$aStatus[3] = $lang['Finished'];
$aStatus[4] = $lang['Canceled'];
if( isset( $bAll ) )
return $aStatus;
else
return $aStatus[$iStatus];
} // end function throwOrderStatus
}

if( !function_exists( 'throwOrderStatusSelect' ) ){
/**
* Return status select
* @return string
* @param int $iStatus
*/
function throwOrderStatusSelect( $iStatus = null ){
return throwSelectFromArray( throwOrderStatus( null, true ), $iStatus );
} // end function throwOrderStatusSelect
}
?>
------------------------------------------------------------------------------------------------------------ ----
Oczywiście dodałem do lang zmienne i w templatcie tez dodałem tabelki.

Tomek

~Uczeñ

No avatar

2006-05-24 16:22

Tak to wygląda dodałem ten drugi kod za kreską to jest orders-admin.php.
Chodzi o to że tabelki się pojawiają i wsztko jest ok ale jak wypełniam formularz i klikam wyslij to przeładowuje się strona i pojawia się tylko link "powrót" i nic więcej - nic się nie wysyłą i nie zapisuje. Co więcej jak nic nie wypełnie i klikne dalej to przeladuje sie strona zaznaczą się na sekunde pola wymagane na czerwone i od razu się strona przeładowuje. Nie wiem o co chodzi :(

ProszÄ™ o pomoc.

Tomek

wewior (OpenSolution)

Avatar: wewior

2006-05-24 17:43

~Uczeń >> juz po twoim stwierdzeniu "w Pliku orders.php i orders-admin.php dodałem zmienne czy jak to się nazywa:" sugeruje zebys poszukal jakiegos znajomego sasiada ktory lepiej zna sie na php

~uczeñ

No avatar

2006-05-24 21:32

czyli nie asz rade zerknąć w ten kod i powiedzieć gdzie jest błą?

uczeń

wewior (OpenSolution)

Avatar: wewior

2006-05-24 23:12

ten kod to kropla w morzu potrzeb takiej zmiany

~uczeñ

No avatar

2006-05-24 23:31

a możesz napisać na co mam jeszcze zwrócić uwagę? zmieniłem jeszcze orders_delivery.tpl i orders_more.

uczeń

wewior (OpenSolution)

Avatar: wewior

2006-05-25 07:38

tak jak pisalem jeszcze orders-ff.php w odpowiednich miejscach
http://opensolution.org/Quick.Cart/docs/ << moze to ci pomoze

~Uczeñ

No avatar

2006-05-25 08:33

Ok dzięki będę szukał. Ale mam jeszcze jedno pytanie.
Czy taka sytuacja jak ta wyżej opisana czyli. Nie wypełniam formularza
klikam wyslij -> przeładowanie - pojawiają się czerwone pola i automatycznie strona po 1 sekundzie przechodzi na kolejną gdzie pojawia się tylko link "powrót" może być wynikiem templates_orders? czy raczej brakiem modyfikacji w orders-ff.php. Pytam bo jak sobię nadpisałem stary template_orders to jest wszystko ok mimo że w katalogu core zostały
pliki zmienione. Tak jak dla mnie może błąd jest w mojej templatce od orderu.

Sam nie wiem.

Tomek

treewood (OpenSolution)

Avatar: treewood

2006-05-25 15:40

Uczeń - jesli chcesz to mozemy sie dogadac jakos i zrobic ci z tym bys nie musial pol dnia sie meczyc by to zrobic. kontakt do nas znasz.

~uczeñ

No avatar

2006-05-26 01:24

treewood - strasznie się zdenerwowałem i usiadłem do tego raz jeszcze, moje przemylenia są następujące, albo nowe wpisy w langu się jakoś gryzły z czyms albo cos poprzednio pomylilem w templatkach. Teraz wszystko smiga super. uffff. Acha i nie musiałem nic zmieniać w orders-ff.php.

Tak na marginesie za co jest odpowiedzialny ten orders-ff.php?

uczeń

treewood (OpenSolution)

Avatar: treewood

2006-05-26 14:52

uczeń - blagam zapoznaj sie z dokumentacja gdyz drazni mnie troche to, ze sie tyle meczylismy nad dokumentacja i tyle sie nam pisalo, ze wazne by dokumentacja byla a ciagle otrzymujemy pytania o rzeczy o ktorych wyraznie piszemy w dokumentacji i wystarczy wpisac odpowiednie slowo do wyszukiwarki. szacunku troche prosze.

http://opensolution.org/Quick.Cart/docs/?id=dictionary#funkcje_-_model

Do góry
o nas | kontakt