I followed the instructions but doesn't work (
eMesitis.gr vB4.2.2).
Unfortunately I get a blank page.
I would appreciate any help.
1) I created a new Template called "
GOOGLE":
PHP Code:
<div class="blockrow">
<gcse:search></gcse:search>
</div>
2) I created a "
google.php" page. (I added <gcse:search></gcse:search> as you can see)
PHP Code:
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'test');
define('CSRF_PROTECTION', true);
// change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array('GOOGLE',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
// if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line
// chdir ('/path/to/your/forums');
require_once('./global.php');
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
$navbits = construct_navbits(array('' => 'Google Site Search'));
$navbar = render_navbar_template($navbits);
// ###### YOUR CUSTOM CODE GOES HERE #####
<script>
$pagetitle = 'Google Custom Search';
<gcse:search></gcse:search>
// ###### NOW YOUR TEMPLATE IS BEING RENDERED ######
$templater = vB_Template::create('GOOGLE');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', $pagetitle);
print_output($templater->render());
?>
I added the following code to the end of "
headinclude" template:
PHP Code:
<!-- google CSE -->
<script>
(function() {
var cx = '<script>
(function() {
var cx = 'partner-pub-6928381629786967:3340711439';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<!-- google CSE -->
I replaced the
PHP Code:
<form action .... (vb code for search box + button) ... </form>
in "
navbar" template with the following code:
PHP Code:
<form method="get" action="http://www.emesitis.gr/google.php" target="_blank" class="navbar_search">
<input type="hidden" name="sitesearch" value="emesitis.gr" id="pn"/>
<span class="textboxcontainer"><span><input type="text" value="" name="q" class="textbox" tabindex="99"/></span></span>
<span class="buttoncontainer"><span><input type="image" class="searchbutton" src="{vb:stylevar imgdir_button}/search.png" name="submit" style="border:0; margin-left:5px;" onclick="document.getElementById('navbar_search').submit;" tabindex="100"/></span></span>
<input type="hidden" name="domains" value="emesitis.gr"/>
</form>
Finally, I added the following code into "
additional.css" template:
PHP Code:
input.gsc-input {
font-size:11px !important;
}
#globalsearch .gsc-input-box {
border:none !important;
height:22px !important;
}
#globalsearch input.gsc-search-button-v2 {
padding:4px 20px !important;
margin-top:1px !important;
}