PHP code werkt niet.

Talk about writing modules and plugins for CMS Made Simple, or about specific core functionality. This board is for PHP programmers that are contributing to CMSMS not for site developers
Post Reply
musicscore
Power Poster
Power Poster
Posts: 444
Joined: Wed Jan 25, 2006 11:53 am
Location: Netherlands

PHP code werkt niet.

Post by musicscore »

Hallo allen,
Ik ben begonnen met het maken van een eigen module en schiet al aardig op. Dank zij de handleiding van Robert Campbell (Introduction to Writing Modules for CMS Made Simple) heb ik de module nu zo ver dat ik records kan ga toevoegen. Alleen dit lukt nog niet zoals geplant.

Ik gebruik meeerdere database en eentje is voor het opslaan van categorien. Deze database heeft 3 velden (id, name, description)

De edit module zieet er als volgt uit :

Code: Select all

<?php

if( !defined('CMS_VERSION') ) exit;
if( !$this->CheckPermission('Manage MS Ecommence Category') ) return;

$category = new MsEcomProductsCategory();
if( isset($params['cid']) && $params['cid'] > 0)
	{    
		$category = MsEcomProductsCategory::load_by_id((int)$params['cid']);
	}

if( isset($params['cancel']) ) {
    $this->RedirectToAdminTab(category);
	}
	else if( isset($params['submit']) ) {
		$category->name = trim($params['name']);
		$category->description = trim($params['description']);
		$category->save();
		$this->SetMessage($this->Lang('category_saved'));
		$this->RedirectToAdminTab(category);
	}
	
	$tpl = $smarty->CreateTemplate($this->GetTemplateResource('edit_category.tpl'),null,null,$smarty);
	$tpl->assign('category',$category);
	$tpl->display();
?>
Nu lijkt het erop dat sw $category->name en $category-description niet gevuld worden. Als ik de array $params opvraag zie ik de ingevoerde waarden maar als ik vervolgens de array $category opvraag zie ik alleen de velden zonder waarde.

Help, wat doe ik verkeerd.

Ik ben begonnen met het maken van modules omdat ik graag CMS Made Simple wil ondersteunen maar als (nog) geen programmeur (een volledige Newbee) moet ik natuurlijk nog veel leren.

Graag jullie ondersteuning. Alvast bedankt. ???
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3479
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: PHP code werkt niet.

Post by velden »

Ik zou je adviseren om wat debug functies te gebruiken tijdens het troubleshooten.

Kijk bijvoorbeeld eens naar de functies debug_to_log() en display_debug()

https://docs.cmsmadesimple.org/configur ... nfig_debug
https://docs.cmsmadesimple.org/configur ... bug_to_log
https://apidoc.cmsmadesimple.org/namesp ... fault.html (zoeken op de pagina naar 'debug')

Je leert heel veel van het debuggen zelf.

Het helpt ook enorm om bijvoorbeeld een lokale 'webserver' met een debugger te gebruiken. Dat is wel een geavanceerd onderwerp. Voordeel is dat je dan stap voor stap door de code kunt 'lopen' en precies zien wat er gebeurt.
musicscore
Power Poster
Power Poster
Posts: 444
Joined: Wed Jan 25, 2006 11:53 am
Location: Netherlands

[solved] PHP code werkt niet.

Post by musicscore »

Velden,

Bedankt voor je reactie.
Bedoel je met een locale server bv Wamp of Xamp.

Inmiddels heb ik de fout gevonden (een slordig typefoutje in een andere module, de module waar de acces naar de database gedaan wordt.)

Het blijft altijd even wennen aan een nieuwe programmeer taal maar met een beetje geluk gaat ook dat lukken.

Omdat ik merk dat cmsmadesimple een beetje weinig nieuwe zaken krijgt wil ik mij e.e.a. aanleren om te kijken of ik wat kan toevoegen. De start zal wat moeilijk zijn maar omdat ik als ICT'er al wat programmeer ervaring heb hoop ik dat ik een heel end kan komen (waarschijnlijk met wat hulp via het forum).

Bedankt nogmaals.
deactivated010521

Re: PHP code werkt niet.

Post by deactivated010521 »

musicscore wrote:Hallo allen,
Ik ben begonnen met het maken van een eigen module en schiet al aardig op. Dank zij de handleiding van Robert Campbell (Introduction to Writing Modules for CMS Made Simple) heb ik de module nu zo ver dat ik records kan ga toevoegen. Alleen dit lukt nog niet zoals geplant.
Een mooi begin door aan de slag te gaan en zelf iets te bouwen kan je een hoop leren.
musicscore wrote: Ik gebruik meeerdere database en eentje is voor het opslaan van categorien. Deze database heeft 3 velden (id, name, description)

De edit module zieet er als volgt uit :

Code: Select all

<?php

if( !defined('CMS_VERSION') ) exit;
if( !$this->CheckPermission('Manage MS Ecommence Category') ) return;

$category = new MsEcomProductsCategory();
if( isset($params['cid']) && $params['cid'] > 0)
	{    
		$category = MsEcomProductsCategory::load_by_id((int)$params['cid']);
	}

if( isset($params['cancel']) ) {
    $this->RedirectToAdminTab(category);
	}
	else if( isset($params['submit']) ) {
		$category->name = trim($params['name']);
		$category->description = trim($params['description']);
		$category->save();
		$this->SetMessage($this->Lang('category_saved'));
		$this->RedirectToAdminTab(category);
	}
	
	$tpl = $smarty->CreateTemplate($this->GetTemplateResource('edit_category.tpl'),null,null,$smarty);
	$tpl->assign('category',$category);
	$tpl->display();
?>
Nu lijkt het erop dat sw $category->name en $category-description niet gevuld worden. Als ik de array $params opvraag zie ik de ingevoerde waarden maar als ik vervolgens de array $category opvraag zie ik alleen de velden zonder waarde.

Help, wat doe ik verkeerd.
Mogelijk worden parameters niet doorgegegeven naar je front end of backend actie(s). Ter bevordering van de veiligheid worden onbekende parameters eruit gefilterd.

Zoek voor extra uitleg in de Module Writing Tutorial eens op:

Code: Select all

$this->SetParameterType
$this->CreateParameter
musicscore wrote: Ik ben begonnen met het maken van modules omdat ik graag CMS Made Simple wil ondersteunen maar als (nog) geen programmeur (een volledige Newbee) moet ik natuurlijk nog veel leren.

Graag jullie ondersteuning. Alvast bedankt. ???
Succes.
deactivated010521

Re: PHP code werkt niet.

Post by deactivated010521 »

Dit soort post horen trouwens niet "Tips en Trucs" (hier plaatst men uitgewerkte voorbeelden / stap voor stap oplossingen etc...). Staan inmiddels meer topics in dit thema die hier niet thuishoren.

Het algemene forum is voor "developer"-vragen / antwoorden / discussie.
Post Reply

Return to “Developers Discussion”