Gaining access to an *AttributeTypeController and rendering a special form
Permalink
It's late. I'm tired. I hope this does not sound "mindless."
I run a perl script which gathers information and returns in the $output variable of a php exec(), a collection of various arrays.
Say I want to pass one of those arrays into a custom AttributeTypeController::form() Essentially, a $perlArray replacing the $value inside this code (which is typical C5 code setting a database value):
Within the custom attribute's directory I can place a different "form.php" , say "special_form.php". Which I can then call with render('special_form') and display the key1 and key2 values I set to it, something like:
Unfortunately, I CANNOT just do:
The failure is due to the parent AttributeTypeController __construct method needing an attributeType object passed in as a first parameter.
Tired and contemplating... I now see the render() I want to call is a method of the AttributeKey class.
How would you suggest the best way to get my perl obtained data into the C5 architecture so that it can be saved into a custom attribute's database?
EDIT #1: Note: I need to route this upload through each (there's about 20) custom attribute directory so as to minimize static code.
I run a perl script which gathers information and returns in the $output variable of a php exec(), a collection of various arrays.
Say I want to pass one of those arrays into a custom AttributeTypeController::form() Essentially, a $perlArray replacing the $value inside this code (which is typical C5 code setting a database value):
public function form() { if (is_object($this->attributeValue)) { $value = $this->getAttributeValue()->getValue(); $this->set('key1', $value->getKey1()); $this->set('key2',$value->getKey2()); } }
Within the custom attribute's directory I can place a different "form.php" , say "special_form.php". Which I can then call with render('special_form') and display the key1 and key2 values I set to it, something like:
public function special_form($perlArray1, $perlArray2) { $this->set('key1', $perlArray1); $this->set('key2', $perlArray2); } }
Unfortunately, I CANNOT just do:
Loader::model('attribute/types/special'); $atc = new SpecialAttributeTypeController(); //this fails $atc->special_form($perlArray1, $perlArray2);
The failure is due to the parent AttributeTypeController __construct method needing an attributeType object passed in as a first parameter.
Tired and contemplating... I now see the render() I want to call is a method of the AttributeKey class.
How would you suggest the best way to get my perl obtained data into the C5 architecture so that it can be saved into a custom attribute's database?
EDIT #1: Note: I need to route this upload through each (there's about 20) custom attribute directory so as to minimize static code.