Opencart does not show coupon box - opencart

I have a site http://www.pentrim.com - when you click on the cart it takes you to a page where it asks you to enter a gift voucher - I want to replace this with a coupon box!
I have added a coupon to the opencart backend, but the box does not appear - which makes me think there may be something missing in my template or opencart configuration.
Can somebody help me determine what is missing?

Go to your source: catalog\view\theme\pentrim\template\checkout\cart.tpl
Find & remove below code from cart.tpl file.
<?php if ($coupon_status || $voucher_status || $reward_status || $shipping_status) { ?>
<h2><?php echo $text_next; ?></h2>
<div class="content">
<p><?php echo $text_next_choice; ?></p>
<table class="radio">
<?php if ($coupon_status) { ?>
<tr class="highlight">
<td><?php if ($next == 'coupon') { ?>
<input type="radio" name="next" value="coupon" id="use_coupon" checked="checked" />
<?php } else { ?>
<input type="radio" name="next" value="coupon" id="use_coupon" />
<?php } ?></td>
<td><label for="use_coupon"><?php echo $text_use_coupon; ?></label></td>
</tr>
<?php } ?>
<?php if ($voucher_status) { ?>
<tr class="highlight">
<td><?php if ($next == 'voucher') { ?>
<input type="radio" name="next" value="voucher" id="use_voucher" checked="checked" />
<?php } else { ?>
<input type="radio" name="next" value="voucher" id="use_voucher" />
<?php } ?></td>
<td><label for="use_voucher"><?php echo $text_use_voucher; ?></label></td>
</tr>
<?php } ?>
<?php if ($reward_status) { ?>
<tr class="highlight">
<td><?php if ($next == 'reward') { ?>
<input type="radio" name="next" value="reward" id="use_reward" checked="checked" />
<?php } else { ?>
<input type="radio" name="next" value="reward" id="use_reward" />
<?php } ?></td>
<td><label for="use_reward"><?php echo $text_use_reward; ?></label></td>
</tr>
<?php } ?>
<?php if ($shipping_status) { ?>
<tr class="highlight">
<td><?php if ($next == 'shipping') { ?>
<input type="radio" name="next" value="shipping" id="shipping_estimate" checked="checked" />
<?php } else { ?>
<input type="radio" name="next" value="shipping" id="shipping_estimate" />
<?php } ?></td>
<td><label for="shipping_estimate"><?php echo $text_shipping_estimate; ?></label></td>
</tr>
<?php } ?>
</table>
</div>
<div class="cart-module">
<div id="coupon" class="content" style="display: <?php echo ($next == 'coupon' ? 'block' : 'none'); ?>;">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
<?php echo $entry_coupon; ?>
<input type="text" name="coupon" value="<?php echo $coupon; ?>" />
<input type="hidden" name="next" value="coupon" />
<input type="submit" value="<?php echo $button_coupon; ?>" class="button" />
</form>
</div>
<div id="voucher" class="content" style="display: <?php echo ($next == 'voucher' ? 'block' : 'none'); ?>;">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
<?php echo $entry_voucher; ?>
<input type="text" name="voucher" value="<?php echo $voucher; ?>" />
<input type="hidden" name="next" value="voucher" />
<input type="submit" value="<?php echo $button_voucher; ?>" class="button" />
</form>
</div>
<div id="reward" class="content" style="display: <?php echo ($next == 'reward' ? 'block' : 'none'); ?>;">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
<?php echo $entry_reward; ?>
<input type="text" name="reward" value="<?php echo $reward; ?>" />
<input type="hidden" name="next" value="reward" />
<input type="submit" value="<?php echo $button_reward; ?>" class="button" />
</form>
</div>
<div id="shipping" class="content" style="display: <?php echo ($next == 'shipping' ? 'block' : 'none'); ?>;">
<p><?php echo $text_shipping_detail; ?></p>
<table>
<tr>
<td><span class="required">*</span> <?php echo $entry_country; ?></td>
<td><select name="country_id">
<option value=""><?php echo $text_select; ?></option>
<?php foreach ($countries as $country) { ?>
<?php if ($country['country_id'] == $country_id) { ?>
<option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
<?php } ?>
<?php } ?>
</select></td>
</tr>
<tr>
<td><span class="required">*</span> <?php echo $entry_zone; ?></td>
<td><select name="zone_id">
</select></td>
</tr>
<tr>
<td><span id="postcode-required" class="required">*</span> <?php echo $entry_postcode; ?></td>
<td><input type="text" name="postcode" value="<?php echo $postcode; ?>" /></td>
</tr>
</table>
<input type="button" value="<?php echo $button_quote; ?>" id="button-quote" class="button" />
</div>
</div>
<?php } ?>
Add Below code instead of above remove code:
<div id="coupon" class="content">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
<?php echo $entry_coupon; ?>
<input type="text" name="coupon" value="<?php echo $coupon; ?>" />
<input type="hidden" name="next" value="coupon" />
<input type="submit" value="<?php echo $button_coupon; ?>" class="button" />
</form>
</div>

You should go to extensions>order totals>copoun then change the status to be enabled

Related

Using GeoLocation variables in CFSET

I'm trying to capture geolocation data and insert it into a database.
The code below is my attempt to capture the browser's longitude and latitude and save the values in two form fields. The problem is the output code generates multiple instances of the two form fields (i.e. "longitude" and "longitude"). Here's a screen shot of a single set of those fields being populated. How do I populate the rest?
Form Code:
<div class="table-responsive">
<table class="table table-1" style="color:##000000">
<tr>
<td>Tree No</td>
<td>Current Status</td>
<td>Graft Successful</td>
<td>NOT Grafted</td>
<td>Graft unsuccessful</td>
<td>Tree Died</td>
</tr>
<cfoutput query="rsTreeList" >
<tr>
<td>#TreeID#</td>
<td>#Status#</td>
<td>
<form name="form1" method="post" action="Recon_Update_Logic1.cfm?ID=#TreeID#">
<img src="images/Icons/Success.jpg" width="25" height="25" alt=""/>
<input id="latitude" name="latitude" type="text" />
<input id="longitude" name="longitude" type="hidden" />
<input name="submit" type="submit" id="Submit" value="Graft Successful">
</form>
</td>
<td>
<form name="form1" method="post" action="Recon_Update_Logic2.cfm?ID=#TreeID#">
<img src="images/Icons/NotGrafted.jpg" width="25" height="25" alt=""/>
<input id="latitude" name="latitude" type="text" />
<input id="longitude" name="longitude" type="hidden" />
<input name="submit" type="submit" id="Submit" value="NOT Grafted">
</form>
</td>
<td>
<form name="form1" method="post" action="Recon_Update_Logic3.cfm?ID=#TreeID#">
<img src="images/Icons/GraftUnsuccessful.jpg" width="25" height="25" alt=""/>
<input id="latitude" name="latitude" type="hidden" />
<input id="longitude" name="longitude" type="hidden" />
<input name="submit" type="submit" id="Submit" value="Graft Unsuccessful">
</form>
</td>
<td>
<form name="form1" method="post" action="Recon_Update_Logic4.cfm?ID=#TreeID#">
<img src="images/Icons/TreeDead.jpg" width="25" height="25" alt=""/>
<input id="latitude" name="latitude" type="hidden" />
<input id="longitude" name="longitude" type="hidden" />
<input name="submit" type="submit" id="Submit" value="Tree Dead">
</form>
</td>
</tr>
</cfoutput>
</table>
</div>
The following code attempts to populate all of the "latitude" and "longitude" elements:
<cfloop index="i" from="1" to="#rsTreeList.recordCount#">
<script>
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position)
{
document.getElementById("latitude").value = position.coords.latitude;
document.getElementByID("longitude").value = position.coords.longitude;
}
getLocation();
</script>
</cfloop>

Why doesn't robobrowser return the page source after login?

I am trying to automate login process in a website using robobrowser. here is the code:
browser = RoboBrowser()
login_url = 'https://fiitjeelogin.com'
post_login = 'https://fiitjeelogin.com/StudentDashboard.aspx?UserdID=1110611570024&BatchCode=MDIT57T04,%20MDIT57F05,%20MDIT57R05&CenterCode=61'
eventval = '/wEdAAl1eLz1ChyMlpOH84l9DXRBKhoCyVdJtLIis5AgYZ/RYe4sciJO3Hoc68xTFtZGQEg/Lx6HO3zp5MHCG49Y5hGYd39wMEiroGigGt6l+80X6qoJzVbh9uRjatIO8j62gEVUrsGtEC0SKq72cYUQj6MH2BaA8epCgZlCbUaqFyjHLgdkZW6ckU2fp2bSHM106Q/CZwerK9DhufKPKISNnwtBsTsTMrfob//+ZrYm6E/+LQ=='
viewstat = '/wEPDwUJOTI4MjgwNjQwD2QWAgIDD2QWAgIPD2QWAgIBD2QWAmYPZBYGAgMPFgIeB1Zpc2libGVoZAILDxYCHwBoZAINDw8WAh4EVGV4dAUEU2VuZGRkZFRRYynlwFTooznce3Y+ZTEmDUGkCBVmcuPXOfi78tSc'
browser.open(login_url)
form = browser.get_form(id = 'ctl01') #choosing matching form id
form['username'].value = 'username'
form['password'].value = 'password'
form['__VIEWSTATEGENERATOR'].value = 'C8125695' #constant
form['__EVENTVALIDATION'].value = eventval
form['__VIEWSTATE'] = viewstat
form['txtUsername'] = ''
form['txtemailid'] = ''
b_e_arg = '\<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" \/\>'
a = robobrowser.forms.fields.Input(b_e_arg) #assigning this using form['__EVENTARGUMENT'] gave a 400 BAD REQUEST...same for EVENTTARGET
b_e_target = '\<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" \/\>'
b = robobrowser.forms.fields.Input(b_e_target)
form.add_field(a)
form.add_field(b)
b_e_btn = '\<input class="buttonb" id="btnlogin" name="btnlogin" type="submit" value="Log in"\/\>'
c = robobrowser.forms.fields.Input(b_e_btn)
form.add_field(c)
submit_here = form['btnlogin']
submit_here.value = 'Log+in'
browser.submit_form(form, submit = submit_here)
alltext = browser.parsed
print alltext
Now, the login form takes the following inputs as seen by Firefox Debugging:
__EVENTTARGET,
__EVENTARGUMENT,
__VIEWSTATE,
__VIEWSTATEGENERATOR,
__EVENTVALIDATION, username, password, btnlogin, txtUsername, txtemailid,
The values for __VIEWSTATEGENERATOR , __EVENTVALIDATION , __VIEWSTATE do not change.
The code returns the HTML of the login page whereas I expect the HTML of the page after logging in.
I have tried this and from this
Here's the HTML of the Login Page:
<body>
<form method="post" action="" id="ctl01">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJOTI4MjgwNjQwD2QWAgIDD2QWAgIPD2QWAgIBD2QWAmYPZBYGAgMPFgIeB1Zpc2libGVoZAILDxYCHwBoZAINDw8WAh4EVGV4dAUEU2VuZGRkZFRRYynlwFTooznce3Y+ZTEmDUGkCBVmcuPXOfi78tSc" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ctl01'];
if (!theForm) {
theForm = document.ctl01;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="C8125695" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAAl1eLz1ChyMlpOH84l9DXRBKhoCyVdJtLIis5AgYZ/RYe4sciJO3Hoc68xTFtZGQEg/Lx6HO3zp5MHCG49Y5hGYd39wMEiroGigGt6l+80X6qoJzVbh9uRjatIO8j62gEVUrsGtEC0SKq72cYUQj6MH2BaA8epCgZlCbUaqFyjHLgdkZW6ckU2fp2bSHM106Q/CZwerK9DhufKPKISNnwtBsTsTMrfob//+ZrYm6E/+LQ==" />
</div>
<fieldset style="border-color: #95B3d7; border-bottom: 0px; border-right: 0px; border-top: 0px;
border-left: 0px; padding-left: 10px">
<legend style="color: #365f91; font-weight: bold; font-family: Calibri; font-size: 15px">
Already Registered</legend>
<p>
<img src="StartpageImage/LoginLock.png" style="width: 130px; height: 130px" />
</p>
<div class="row">
<section class="col col-8">
<label class="label" style="color:#3698db ;font-family:Calibri">User Name</label><br />
<label class="input">
<input name="username" type="text" id="username" class="Jaitextbox" />
</label>
</section>
<section class="col col-8">
<label class="label" style="color:#3698db ;font-family:Calibri">Password</label><br />
<label class="input">
<input name="password" type="password" id="password" class="Jaitextbox" />
</label><br />
<p align="right" style="margin-right:100px;"><a id="lnkforgetpassword" href="javascript:__doPostBack('lnkforgetpassword','')" style="color:#F79646;color:#f79646 ;font-family:Calibri">Forgot Password?</a></p>
</section>
</div>
<input type="submit" name="btnlogin" value="Log in" id="btnlogin" class="buttonb" />
</div>
<div class="body">
<div id="updatpanelforgetpass">
<table>
<tr id="trDisp1">
<td colspan="2">
<h3 align="center" style="color: #365f91; font-family: Calibri; font-weight: bold">
<u>Forgot Password</u></h3>
</td>
</tr>
<tr id="trDisp3">
<td colspan="2">
Please provide registered User Name or EmailId with Fittjee
</td>
</tr>
<tr id="trDisp4">
<td>
<span id="lblUsername" style="color: #3698db; font-family: Calibri">UserName :</span>
</td>
<td>
<input name="txtUsername" type="text" id="txtUsername" class="Jaitextbox" /></p>
</td>
</tr>
<tr id="trDisp5">
<td>
<span id="lblemailid" style="color: #3698db; font-family: Calibri">EmailID :</span>
</td>
<td>
<input name="txtemailid" type="text" id="txtemailid" class="Jaitextbox" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="btnPass" value="Send" id="btnPass" class="buttonb" />
</td>
<div id="ValidationSummary1" class="error" style="display:none;">
</div>
<span id="lblMessage" style="color:Red;"></span>
</tr>
</table>
</div>
</div>
</div>

Regular expression form validation in Chrome

I have a web form that was working at one point, but all of a sudden it no longer works in Chrome. The patterns pass tests at regex101.com, and the form can be submitted with Firefox, but Chrome doesn't like it any more. The most confounding thing about it is that it has been failing at different points, even without changes to the form. (E.G. sometimes first name fails, sometimes last name fails - even though the patterns are the same. Sometimes it makes it down to phone number or URL. Can't imagine why.) I've analyzed it to the best of my ability - any suggestions?
<form name="form-careers" enctype="multipart/form-data" action="/careers/#form" method="POST">
<div class="form_labels">
<p><label for="fname">First Name:</label></p>
</div>
<div class="form_inputs">
<p><input type="text" name="fname" id="fname" placeholder="*" pattern="/^([A-Za-z-\ \.]+)$/" value="<?php if (isset($fname)) { echo $fname; } ?>" required /></p>
<div class="error" id="error-fname"><?php if (isset($err_fname)) { echo $err_fname; } ?><?php if (isset($err_fname2)) { echo $err_fname2; } ?></div>
</div>
<div class="form_labels">
<p><label for="lname">Last Name:</label></p>
</div>
<div class="form_inputs">
<p><input type="text" name="lname" id="lname" placeholder="*" pattern="/^([A-Za-z-\ \.]+)$/" value="<?php if (isset($lname)) { echo $lname; } ?>" required /></p>
<div class="error" id="error-lname"><?php if (isset($err_lname)) { echo $err_lname; } ?><?php if (isset($err_lname2)) { echo $err_lname2; } ?></div>
</div>
<div class="form_labels">
<p><label for="email">Email:</label></p>
</div>
<div class="form_inputs">
<p><input type="email" name="email" id="email" placeholder="*" pattern="/^([\dA-Za-z0-9\._-]+)#([\dA-Za-z0-9\._-]+)\.([A-Za-z]{2,10})$/" value="<?php if (isset($email)) { echo $email; } ?>" required /></p>
<div class="error" id="error-email"><?php if (isset($err_email)) { echo $err_email; } ?><?php if (isset($err_email2)) { echo $err_email2; } ?></div>
</div>
<div class="form_labels">
<p><label for="phone">Phone:</label></p>
</div>
<div class="form_inputs">
<p><input type="tel" name="phone" id="phone" placeholder="* (###-###-####)" pattern="/^([\d]{3})\-([\d]{3})\-([\d]{4})$/" value="<?php if (isset($phone)) { echo $phone; } ?>" required /></p>
<div class="error" id="error-phone"><?php if (isset($err_phone)) { echo $err_phone; } ?><?php if (isset($err_phone2)) { echo $err_phone2; } ?></div>
</div>
<div class="form_labels">
<p><label for="role">Desired Role:</label></p>
</div>
<div class="form_inputs">
<p><input type="text" name="role" id="role" placeholder="*" pattern="/^([\\\/A-Za-z-\ \.]+)$/" value="<?php if (isset($role)) { echo $role; } ?>" required /></p>
<div class="error" id="error-role"><?php if (isset($err_role)) { echo $err_role; } ?><?php if (isset($err_role2)) { echo $err_role2; } ?></div>
</div>
<div class="form_labels">
<p><label for="portfolio">Portfolio/Website:</label></p>
</div>
<div class="form_inputs">
<p><input type="url" name="portfolio" id="portfolio" placeholder="(http://...)" pattern="/^(https?:\/\/)?([\dA-Za-z\.-]+)\.([A-Za-z\.]{2,6})([\/\w \.-]*)*\/?$/" value="<?php if (isset($portfolio)) { echo $portfolio; } ?>" required /></p>
<div class="error" id="error-portfolio"><?php if (isset($err_portfolio)) { echo $err_portfolio; } ?><?php if (isset($err_portfolio2)) { echo $err_portfolio2; } ?></div>
</div>
<div class="form_labels">
<p><label for="resume">Upload Resume: (optional)</label></p>
</div>
<div class="form_inputs">
<p><input type="file" name="resume" id="resume" accept=".pdf, .txt, .rtf, .doc, .docx" style="margin-bottom:2px;"/>
<span style="color:#777;">(pdf, txt, rtf, doc, docx)</span></p>
</div>
<input type="hidden" name="formtype" id="formtype" value="careers">
<div class="form_labels submit">
<p> </p>
</div>
<div class="form_inputs">
<input type="submit" value="Submit" name="action" class="button-red" >
</div>
I don't have a good answer, for i can't see what is wrong with the code. It should be withoud the / slashes, but from the comment i gather you got that already.
What i have to offer is an small javascript option for browsers that don't suport this atribute. And works in chrome. SO hope this helps you!
if ( ! input.hasOwnProperty('pattern') && ~input.value.search(input.pattern)) {
// Valid input field for browsers which don't support `pattern` attribute.
}
Here is an JS fiddle
And a small advise, don't only test the inputs on the client side. This is usefull for feedback to a user, but don't relay on the inputs being correct on the server side. (But i think you might already know this)

Regex to find a div based on the attribute of one of its elements for vqmod xml

Ok, I'm creating a vqmod extension for opencart and I need to add a field to an admin page. The admin page has a form with bootstrap elements like this:
<div class="form-group">
<label class="col-sm-2 control-label" for="input-keyword"><span data-toggle="tooltip" title="<?php echo $help_keyword; ?>"><?php echo $entry_keyword; ?></span></label>
<div class="col-sm-10">
<input type="text" name="keyword" value="<?php echo $keyword; ?>" placeholder="<?php echo $entry_keyword; ?>" id="input-keyword" class="form-control" />
<?php if ($error_keyword) { ?>
<div class="text-danger"><?php echo $error_keyword; ?></div>
<?php } ?>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="input-bottom"><span data-toggle="tooltip" title="<?php echo $help_bottom; ?>"><?php echo $entry_bottom; ?></span></label>
<div class="col-sm-10">
<div class="checkbox">
<label>
<?php if ($bottom) { ?>
<input type="checkbox" name="bottom" value="1" checked="checked" id="input-bottom" />
<?php } else { ?>
<input type="checkbox" name="bottom" value="1" id="input-bottom" />
<?php } ?>
</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label>
<div class="col-sm-10">
<select name="status" id="input-status" class="form-control">
<?php if ($status) { ?>
<option value="1" selected="selected"><?php echo $text_enabled; ?></option>
<option value="0"><?php echo $text_disabled; ?></option>
<?php } else { ?>
<option value="1"><?php echo $text_enabled; ?></option>
<option value="0" selected="selected"><?php echo $text_disabled; ?></option>
<?php } ?>
</select>
</div>
</div>
I need to tell my vqmod XML to add a form group before the "input-bottom" form group. I could just do something like this:
<search position="before"><![CDATA[<div class="form-group">
<label class="col-sm-2 control-label" for="input-bottom"]]></search>
But that looks pretty fragile to me. If the label class is changed or anything, it'd break. So is there a way I could use a regex or something to find the <div class="form-group"> immediately before the "input-bottom" label, regardless of the HTML between the div and the label's "for" attribute?
Or am I looking at this all wrong? Is there a better way to do what I'm trying to do? I'm pretty new to opencart and vqmod.
So I found this post on stackoverflow that helped me understand negated sets in lookaheads, and using the link in the same post, I tested this regex with this online tester:
<div class="form-group">(?=[^\>]*?bottom)
This matches <div class="form-group"> as long as the word "bottom" appears before next > symbol. That's about the best I could figure out.
Then I went to try it in vqmod and noticed it didn't work... Upon closer inspection of vqmod's documentation, I learned it can only search one line...
But using the "offset" attribute in vqmod, I was able to do this:
<search position="before" offset="1"><![CDATA[for="input-bottom"]]></search>
<add><![CDATA[my code]]></add>
It searches for the line that has input-bottom and places my code 2 lines above it, skipping over the <div class="form-group"> line. That'll work for me.

How to transfer changed content into plone theme with diazo?

Now I need the following search structure in the theme:
<div class="sideCol">
<aside class="siteSearch">
<form name="searchform" action="search" class="searchPage searchform" id="searchform">
<fieldset>
<legend>Website durchsuchen</legend>
<input class="searchPage text lang-de" name="SearchableText" type="text" size="25" title="Website durchsuchen" value="" placeholder="Suchbegriff..." />
<button type="submit"><i class="icon-search"></i></button>
</fieldset>
</form>
</aside>
</div>
All I need to get from Plones sunburst theme is the action link for the form element.
So I tried this:
<replace css:content-children="#portal-searchbox">
<xsl:variable name="action_link" select="form/#action" />
<form name="searchform" action="search" class="searchPage searchform" id="searchform">
<xsl:attribute name="action">${action_link}</xsl:attribute>
<fieldset>
<legend>Website durchsuchen</legend>
<input class="searchPage text lang-de" name="SearchableText" type="text" size="25" title="Website durchsuchen" value="" placeholder="Suchbegriff..." />
<button type="submit"><i class="icon-search"></i></button>
</fieldset>
</form>
</replace>
<replace css:content-children="#portal-searchbox" css:theme-children=".siteSearch" />
The problem ist that all I get in the theme is the structure of Plones Sunburst Search.
<div class="sideCol">
<aside class="siteSearch">
<form id="livesearch0" action="http://localhost:8080/mamuz/de/##search">
<div class="LSBox">
<label class="hiddenStructure" for="searchGadget">Website durchsuchen</label>
<input name="SearchableText" type="text" size="18" title="Website durchsuchen" placeholder="Website durchsuchen" accesskey="4" class="searchField" id="searchGadget" autocomplete="off">
<input class="searchButton" type="submit" value="Suche">
<div class="searchSection">
<input id="searchbox_currentfolder_only" class="noborder" type="checkbox" name="path" value="/mamuz/de/impressum">
<label for="searchbox_currentfolder_only" style="cursor: pointer">nur im aktuellen Bereich</label>
</div>
<div class="LSResult" id="LSResult">
<div class="LSShadow" id="LSShadow"></div>
</div>
</div>
</form>
<div id="portal-advanced-search" class="hiddenStructure">
Erweiterte Sucheā€¦
</div>
</aside>
</div>
I'm familiar with diazo but pretty new to xslt. What is wrong? I tired several types of placements like import before it gets modified. Nothing helps.
Using the replace directive on attribute itself should work:
<replace attributes="action"
css:content="#portal-searchbox form"
css:theme="#searchform" />