Page 2 of 2

Posted: Tue 1. Feb 2005, 14:07
by paschulke
hey...

nice work, but menu works NOT on internet explorer for mac! :?

i will fix this in the CSS-style, later!
no time at this moment!

Posted: Tue 1. Feb 2005, 16:29
by visioneer
paschulke wrote:menu works NOT on internet explorer for mac!
Sorry to say it but I feel IE on Mac is dead. People shouldn't use it. That's my feeling. Seems to be the same for MS as they haven't updated IE for Mac in years. I think I may have the same problem in IE Mac as I do for Opera Mac so when I have to to fix the CSS it may take care of both.

Re: Calendar Integration...

Posted: Tue 1. Feb 2005, 16:30
by visioneer
marco wrote:Could you please explain this a bit more, what files are edited what replacement tag is used, and where is the code above inserted?
I'll post a step-by-step guide to what I did later tonight.

Posted: Wed 2. Feb 2005, 04:43
by visioneer
Here is a basic run down of how to include the ExtCalendar2 in phpwcms.

File that need to be modified:
calendar.php
cal_search.php
register.php

Files that you may optional modify:
admin_categories.php
admin_events.php
admin_groups.php
admin_settings.php
admin_settings_template.php
admin_settings_updates.php
admin_users.php
login.php
profile.php

Soft Links to phpwcms directories inside the calendar directory:
img
phpwcms_template

Note: I needed those soft links because of files that are called relatively in my design. You may not need these.

In each of the calendar .php files right after the beginning include or require directives add the following code:

Code: Select all

// BEGIN phpWCMS template integration
ob_start();
// END phpWCMS template integration
This starts buffering the calendar output. The ExtCalendar2 has it's own header, calendar, and footer output functions. Also I made sure to set ExtCalendar2 to use a custom template that only contained the calendar itself without an HTML header and footer.

In any of the .php files after

Code: Select all

// footer
pagefooter();
add the following code:

Code: Select all

// BEGIN phpWCMS template integration
$cmstmpl['calendar'] = ob_get_contents();
ob_end_clean();

$cmstmpl['all'] = @file_get_contents('http://www.lbym.org/calview.phtml');
$cmstmpl['all'] = preg_replace("/href\ *\=\ *\"/","href=\"/", $cmstmpl['all']);
$cmstmpl['all'] = str_replace('href="//', 'href="/', $cmstmpl['all']);
$cmstmpl['all'] = preg_replace("/href\ *\=\ *\'/","href='/", $cmstmpl['all']);
$cmstmpl['all'] = str_replace("href='//", "href='/", $cmstmpl['all']);
$cmstmpl['all'] = str_replace('href="/javascript:', 'href="javascript:', $cmstmpl['all']);
$cmstmpl['all'] = str_replace('href="/http:', 'href="http:', $cmstmpl['all']);
$cmstmpl['all'] = str_replace('<!-- EXTCAL_CSS -->', '<link rel="stylesheet" type="text/css" href="/phpwcms_template/inc_css/calendar.css">', $cmstmpl['all']);
$cmstmpl['all'] = str_replace('{EXTCAL}', $cmstmpl['calendar'], $cmstmpl['all']);

echo $cmstmpl['all'];
// END phpWCMS template integration
This ends the buffering and does the replacement tag stuff. A couple of items that are coded into phpwcms are the following tags:

Code: Select all

<!-- EXTCAL_CSS -->
This is a replacement tag for the calendars css style sheet which I put in the template head section. I decided I only wanted it included when viewing the calendar and not have all that style sheet code loaded for any other pages when it's not needed there.

Code: Select all

{EXTCAL}
That replacement tag goes in the phpwcmw dummy template page. See and example here: http://www.lbym.org/calview.phtml

What happens is I have my Calendar category redirect to the /calendar/ directory. Also underneath the Calendar category I have a Calendar View category with an alias of calview, this makes available the calview.phtml page that ExtCalendar make use of as it's template.

This feels like a really complex way of integrating the ExtCalendar but it is rather simple once you have it working. Hope this is helpful.

Posted: Wed 2. Feb 2005, 11:33
by paschulke
@visioneer

this is my stylesheet. worx on Mac IE, firefox, Internet-Explorer, Safari...

I´am not an CSS expert... but it worx! :)


here u can see a quik-and-dirty-demo!

http://193.22.164.51/phpwcms/index.php


Code: Select all

/****************** menu functionality******************/

ul.dropdown { /* complete lists */
	font-family: Arial,Verdana, Helvetica, sans-serif;
	font-size: 11px;	
	a:link: #000000;
	padding: 0;
	margin: 0px 0 0px 143px;
	list-style: none;
	text-align: center;
	height: 6px;
	
}

ul.dropdown li { /*  list items */
	float: left;
	position: relative;
	width: 125px;
	/*border-bottom: 1px solid #E2E2E2;*/
}

ul.dropdown li ul { /* second-level lists */
	display: none;
	position: absolute;
	top: 24px;
	left: 0;
	margin: 0;
	padding: 0;
	background-color: White;
	list-style: none;
	border-top: 1px solid #BBBBBB;
	z-index: 99;
}

ul.dropdown li>ul {
	top: auto;
	left: auto;
}


ul.dropdown ul * ul {
	left:98%;
	top:0;
	width:100%;
}


ul.dropdown li ul li {
	border: none;
	list-style: none;
	padding: 0;
	margin: 0;
	width: 125px;
	border-left: 1px solid #BBBBBB;
	border-right: 1px solid #BBBBBB;
	border-bottom: 1px solid #BBBBBB;
}

ul.dropdown li:hover ul, ul.dropdown li.over ul { /* lists nested under hovered list items */
	display: block;
}

ul.dropdown span {
	visibility: hidden;
}

ul.dropdown a {
	text-decoration: none;
	color: Black;
	margin: 0;
	padding: 5px 0px;
	display: block;
	width: 125px;
	background-color: #EBEBEB;
	font-weight: normal;
}

ul.dropdown a:hover {
	background-color: #FFFFFF;
	color: #000000;
	text-decoration: none;
	} 
	
ul.dropdown a:link {
	color: #000000;
	text-decoration: none;
	} 
	
ul.dropdown	a:visited {
	color: #000000;
	text-decoration: none;
	} 
	
ul.dropdown	a:active  {
	color: #000000;
	text-decoration: none;
	} 

ul.dropdown ul * ul
{
    left:98%;
    top:0;
    width:100%;
}


Posted: Wed 2. Feb 2005, 15:41
by visioneer
For me on FireFox Mac/Win and Safari the 3rd level menus always show with the 2nd level menus. Also there is some poor width/border/alignment issue with the browsers that do work properly. I think my CSS is mostly on track except for the first level not sizing properly. Part of my issue I believe is that I'm wanting to use auto for the widths to maximize my 1st level menu space. I'm guessing IE Mac and Opera have different interpretations of what an auto width is suppose to do, or they don't make use of auto all together.

Posted: Tue 15. Feb 2005, 16:15
by brans
ok here is some updated replacement-tag, that will work exactly like
{NAV_TABLE_COLUMN:x} does!

Code: Select all

<?php 
// -------------------------------------------------------------
if( ! ( strpos($content["all"],'{DROPDOWN')===false ) ) { 
   $content["all"] = str_replace('{DROPDOWN}', '{DROPDOWN:0}', $content["all"]); 
   $replace = 'build_dhtmlmenu( "$1","id=nav", 0);'; 
   $content["all"] = preg_replace('/\{DROPDOWN:(\d+)\}/e', $replace, $content["all"]); 
} 
// ------------------------------------------------------------- 
?>