Quote:
First I tried a custom block but that didn't allow tables.
Here are some examples of using custom code in custom blocks. All of these examples work with the XOOPS native block manager. So, in a sense, there is native content management functionality in XOOPS (all versions), but only basic.
HTML example (Set Content Type to HTML):
<center>
<table cellspacing="0" cellpadding="0">
<tr>
<td valign="middle" align="center" style="padding:1px;"><a href='http://www.silktide.com/report.php?url=http%3A%2F%2Fmywebresource.com' rel="nofollow"><img src='http://sitescore.silktide.com/index.php?siteScoreUrl=http%3A%2F%2Fmywebresource.com' alt='Silktide SiteScore for this website' border='0' /></a></td>
</tr>
<tr>
<td valign="middle" align="center" style="padding:1px;"><a href="http://www.xoops-topsites.com/in.php?id=359" rel="nofollow"><img src="http://www.xoops-topsites.com/button.php?id=359" alt="" /></a></td>
</tr>
<tr>
<td valign="middle" align="center" style="padding:1px;"><a href="http://www.321webmaster.com/index.php?in=16645" target="_blank" rel="nofollow"><img src="http://mywebresource.com/images/321webmaster.gif" width="88" height="31" alt="321Webmaster" border="0" align="bottom" /></a></td>
</tr>
<tr>
<td valign="middle" align="center" style="padding:1px;"><a href="http://www.walshaw.com/topsites/index.php?ID=18" rel="nofollow"><img src="http://www.walshaw.com/images/wbutton1.gif" alt="" /></a><br /></td>
</tr>
<tr>
<td valign="middle" align="center" style="padding:1px;"><a href="http://webmaster.itopsites.com/in.php?id=20508" rel="nofollow"><img src="http://webmaster.itopsites.com/button.php?id=20508" alt="" /></a></td>
</tr>
</table>
</center>
Javascript example (Set Content Type to HTML):
<center>
<!--The following will create a cross browser compatible scrolling marquee in the page header. Follow the directions in the code to customize the marquee. Do not change the demensions of the marquee or the page layout will break.-->
<script language="JavaScript1.2">
/*
Cross browser Marquee script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and Terms Of Use, visit http://www.dynamicdrive.com
Credit MUST stay intact
*/
//Specify the marquee's width (in pixels)
var marqueewidth="345px"
//Specify the marquee's height
var marqueeheight="16px"
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=2
//configure background color:
var marqueebgcolor="#FFFFFF"
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=0
//Specify the marquee's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that's great):
var marqueecontent='<nobr><font face="Arial"><a href="http://mywebresource.com/" target="_self">MyWebResource is a site dedicated to providing a centralized portal to aid visitors in finding and evaluating resources for their website. Click here to visit MyWebResource now!</a></font></nobr>'
////NO NEED TO EDIT BELOW THIS LINE////////////
marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)? copyspeed: 0
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+marqueecontent+'</span>')
var actualwidth=''
var cross_marquee, ns_marquee
function populate(){
if (iedom){
cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
cross_marquee.innerHTML=marqueecontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_marquee=document.ns_marquee.document.ns_marquee2
ns_marquee.left=parseInt(marqueewidth)+8
ns_marquee.document.write(marqueecontent)
ns_marquee.document.close()
actualwidth=ns_marquee.document.width
}
lefttime=setInterval("scrollmarquee()",20)
}
window.onload=populate
function scrollmarquee(){
if (iedom){
if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed+"px"
else
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
}
else if (document.layers){
if (ns_marquee.left>(actualwidth*(-1)+8))
ns_marquee.left-=copyspeed
else
ns_marquee.left=parseInt(marqueewidth)+8
}
}
if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+marqueewidth+';height:'+marqueeheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+marqueewidth+';height:'+marqueeheight+';background-color:'+marqueebgcolor+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">')
write('<div id="iemarquee" style="position:absolute;left:0px;top:0px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee" bgColor='+marqueebgcolor+'>')
write('<layer name="ns_marquee2" left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script>
</center>
Macromedia Flash example (Set Content Type to HTML):
<center>
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="468" HEIGHT="60" id="XOOPSBanner"> <PARAM NAME=movie VALUE="banner.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="/images/banners/banner.swf" quality=high bgcolor=#FFFFFF WIDTH="468" HEIGHT="60" NAME="XOOPSBanner" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT>
</center>
PHP Example (Set Content Type to PHP):
<center>
phpinfo();
</center>
As far as including an awesome content management module in the core goes... I really don't feel that this is in the best interest of XOOPS. If you remove competition entirely, then quality and features suffer. By outsourcing the responsibility of creating a top-notch content management module to third-party developers, the community benefits by having a selection of modules that meet different needs.
Granted, in your situation, none of the current modules meet your needs, but you are an exception. That's not to say that you shouldn't request the features you want. In fact, I'm sure the developers of the various content modules would welcome a feature request.
My suggestion is that you find the module(s) that comes closest to what you are looking for and contact the developer of that module.
Also, some of the content management modules for XOOPS have support for Kovi editor and HTML Area. Those plug-ins offer a tremendous amount of WYSIWYG editing features.
As far as custom coding specific code into your content goes, that's where custom blocks really shine! There is a tremendous amount of flexibility in what you can do with them if they are used correctly.
Hope this is helpful.
James
Insanity can be defined as "doing the same thing over and over and expecting different results."
Stupidity is not a crime. Therefore, you are free to go.