PHP code example of heimrichhannot / contao-ajax-bundle
1. Go to this page and download the library: Download heimrichhannot/contao-ajax-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
heimrichhannot / contao-ajax-bundle example snippets
DC_Hybrid.php
public function __construct($strTable = '', $varConfig = null, $intId = 0)
{
...
\Contao\System::getContainer()->get('huh.ajax')->runActiveAction(Form::FORMHYBRID_NAME, 'toggleSubpalette', new FormAjax($this));
...
}
/**
* Toggle Subpalette
* @param $id
* @param $strField
* @param bool $blnLoad
*
* @return ResponseError|ResponseSuccess
*/
function toggleSubpalette($id, $strField, $blnLoad = false)
{
$varValue = \Contao\System::getContainer()->get('huh.request')->getPost($strField) ?: 0;
if (!is_array($this->dca['palettes']['__selector__']) || !in_array($strField, $this->dca['palettes']['__selector__'])) {
\Controller::log('Field "' . $strField . '" is not an allowed selector field (possible SQL injection attempt)', __METHOD__, TL_ERROR);
return new ResponseError();
}
$arrData = $this->dca['fields'][$strField];
if (!Validator::isValidOption($varValue, $arrData, $this->dc)) {
\Controller::log('Field "' . $strField . '" value is not an allowed option (possible SQL injection attempt)', __METHOD__, TL_ERROR);
return new ResponseError();
}
if (empty(FormHelper::getFieldOptions($arrData, $this->dc))) {
$varValue = (intval($varValue) ? 1 : '');
}
$this->dc->activeRecord->{$strField} = $varValue;
$objResponse = new ResponseSuccess();
if ($blnLoad)
{
$objResponse->setResult(new ResponseData($this->dc->edit(false, $id)));
}
return $objResponse;
}
//bootstrap.php
define('UNIT_TESTING', true);
// MyTestClass.php
/**
* @test
*/
public function myTest()
{
$objRequest = \Contao\System::getContainer()->get('huh.request')->create('http://localhost' . AjaxAction::generateUrl('myAjaxGroup', 'myAjaxAction'), 'post');
$objRequest->headers->set('X-Requested-With', 'XMLHttpRequest'); // xhr request
Request::set($objRequest);
$objForm = new TestPostForm();
try
{
$objForm->generate();
// unreachable code: if no exception is thrown after form was created, something went wrong
$this->expectException(\HeimrichHannot\Ajax\Exception\AjaxExitException::class);
} catch (AjaxExitException $e)
{
$objJson = json_decode($e->getMessage());
$this->assertTrue(strpos($objJson->result->html, 'id="my_css_id"') > 0); // check that id is present within response
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.