variabele doorgeven

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

variabele doorgeven

Post by Gregor »

Hallo,

Is het om, en zo ja hoe, om vanuit een met Formbuilder gemaakt formulier een variabele na submit door te geven aan een pagina met daarin een {.......}, bijv. je selecteert het jaar en je wilt het jaar als getal doorgeven om o.b. daarvan een selectie te doen.

Gregor
Calimer0

Re: variabele doorgeven

Post by Calimer0 »

Hoi Gregor,

Je kan mbv POST of GET de variabele gebruiken in een UDT
bijv:

Code: Select all

if (!isset($_GET['year']) || $_GET['year'] == "") {
 $archiveyear=date('Y');
}
else {
 $archiveyear=$_GET['year'];
}
 $smarty->assign('archiveyear', $archiveyear);
Deze kan je in je pagina oproepen als: {$archiveyear}
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: variabele doorgeven

Post by Gregor »

Hoi,

Dank je wel.

Even kijken of ik het helder heb:
- je maakt een UDT aan met jouw code
- Ik vul de UDT aan met de volgende code:

Code: Select all

{* Select your news_start_date formatted as yyyy-mm-dd *}
{assign var='news_start_period' value=$archiveyear.'-01-01'}

{* Select your news_end_date formatted  as yyyy-mm-dd *}
{assign var='news_end_period' value=$archiveyear.'-12-31'}
{news category="logboek" summarytemplate="summaryperiodtemplate" detailtemplate="detailtemplate" }
en de UDT plaats ik dan in de pagina.

Eens?

Gregor
Calimer0

Re: variabele doorgeven

Post by Calimer0 »

Hoi Gregor,

Ik dacht dat je {news} niet kan gebruiken in een UDT
En ik zou het zo doen:

Code: Select all

 $startperiod="{$archiveyear}/01/01";
 $endperiod="{$archiveyear}/12/31";
 
 $smarty->assign('archiveyear', $archiveyear);
 $smarty->assign('startperiod', $startperiod);
 $smarty->assign('endperiod', $endperiod);
De UDT plaats je dan idd in die pagina
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: variabele doorgeven

Post by Gregor »

Hoi,

Ik denk niet dat het helemaal goed gaat. In de UDT archiveyear staat:

Code: Select all

if (!isset($_GET['year']) || $_GET['year'] == "") {
 $archiveyear=date('Y');
}
else {
 $archiveyear=$_GET['year'];
}
 $smarty->assign('archiveyear', $archiveyear);
 
$news_start_period="{$archiveyear}/01/01";
$news_end_period="{$archiveyear}/12/31";
 
$smarty->assign('archiveyear', $archiveyear);
$smarty->assign('news_start_period', $news_start_period);
$smarty->assign('news_end_period', $news_end_period);
Dan heb ik een pagina waarin ik het formulier aanroep en daarin heb ik aangegeven:

Map field "Jaar" to form submission variable:

Include field in Submission
en ik heb een POST van het resultaat er in gezet.
39   Jaar   Pulldown   true   5 options     down   Edit   Delete
41 archiveyear *Submit to an arbitrary form action . POST up   Edit Delete
De link is:
http://www.uisge-beatha.eu/Logboek/lbjaar.html

Dan heb ik een pagina waarin ik de udt heb geplaatst, alleen wordt die volgens mij niet aangeroepen:
Sorry! Er is een fout opgetreden tijdens de formulierverwerking.
Ik heb ook geprobeerd om de udt {archiveyear} in dezelfde pagina te plaatsen als het formulier. Dat helpt niet.

Ik zie mogelijk iets over het hoofd, maar ik zou nu even niet weten wat/hoe. Suggestie?
Last edited by Gregor on Wed Mar 10, 2010 5:05 pm, edited 1 time in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: variabele doorgeven

Post by Gregor »

Ik heb de volgende code in de submissiopn template gezet:

Code: Select all

{$archiveyear} {news category="logboek" summarytemplate="summaryperiodtemplate" detailtemplate="_dflt" }
en krijg ook dan de melding:
Sorry! Er is een fout opgetreden tijdens de formulierverwerking.
:-\
Calimer0

Re: variabele doorgeven

Post by Calimer0 »

Hoi Gregor,

Probeer eens dit in je archiveyear UDT te zetten:

Code: Select all

  <form id="selectyear" method="get" action="http://www.uisge-beatha.eu/Logboek/lbjaar.html" enctype="multipart/form-data"> 
    <div class="formbuilderform"> 
      <div class="required">

        <label for="year">
          Jaar*
        </label>
        <select id="year" name="year">
          <option value="" selected="selected"> 
            Selecteer een jaar: 
          </option>
          <option value="2006">
            2006
          </option>
          <option value="2007">

            2007
          </option>
          <option value="2008">
            2008
          </option>
          <option value="2009">
            2009
          </option>
          <option value="2010">
            2010
          </option>

        </select> 
      </div> 
      <div class="submit">
        <input value="Verstuur" type="submit" /> 
      </div> 
    </div> 
  </form> 

User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: variabele doorgeven

Post by Gregor »

Hoi,
Dank voor je reactie. AL verschillende dingen geprobeerd en het gevoel een beetje vast te zitten.

Als ik dit in de udt zet, dan krijg ik:
   * Invalid code entered.
   * Parse error: syntax error, unexpected '<' in /home/efacti/public_html/uisge-beatha.eu/admin/edituserplugin.php(108) : eval()'d code on line 1
edit: Ik heb in de submission template staan:

Code: Select all

{archiveyear} 
{news category="logboek" summarytemplate="summaryperiodtemplate" detailtemplate="_dflt" }
Last edited by Gregor on Thu Mar 11, 2010 8:06 am, edited 1 time in total.
Calimer0

Re: variabele doorgeven

Post by Calimer0 »

Foutje van mij,
Je moet alles echo'en..
dus:

Code: Select all

echo '<form id="selectyear" method="get" action="http://www.uisge-beatha.eu/Logboek/lbjaar.html" enctype="multipart/form-data">'; 
etc..
Wat je ook kan doen:
Je moet dan alleen bij archief-3 de naam van jou pagina invullen (lbjaar?)

Code: Select all

//Execute some smarty code to make the archive link
global $gCms;
$smarty = &$gCms->GetSmarty();
$smarty_data = "{cms_selflink href='archief-3'}"; //this is the archive link
$smarty->_compile_source('temporary template', $smarty_data, $_compiled );
@ob_start();
$smarty->_eval('?>' . $_compiled);
$_contents = @ob_get_contents();
@ob_end_clean();
$archivelink = $_contents;

//Set the first year of archives:
$firstyear=2005;

//Set some variables
$thisyear=date('Y');
$i=$firstyear;

//HTML before the loop
echo "<ul>";

//Loop through the years to this year
while ($i <= $thisyear) {
 echo "<li>"; //HTML at beginning of iteration
 echo "<a title=\"News Archive {$i}\" href=\"{$archivelink}?year={$i}\">{$i}</a>";
 echo "</li>"; //HTML at end of iteration
 ++$i;
}

//HTML after the loop
echo "</ul>";
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: variabele doorgeven

Post by Gregor »

Ik heb de code in de archiveyear UDT gezet en lbjaar erin gezet.

Samengevat tot nu toe, ik heb:
- in de pagina staat {FormBuilder form='lbjaar'}
- een form aangemaakt met POST als submit-waarde
- in het submission form staan

Code: Select all

{archiveyear} 
{news category="logboek" summarytemplate="summaryperiodtemplate" detailtemplate="_dflt" }
- in de UDT de aangereikte code staan

Melding die na het selecteren van een jaar optreedt, is dat er een fout is in de verwerking van het formulier. Login code via PM .....
Post Reply

Return to “Dutch - Nederlands”