MasinoFixedWidthSite extension contains almost all of my customization in this site for the websites that generated by PHPMaker. There are so many customization had been included so far in this extension. This extension can save tons of your time to develop some web appolications that generated by PHPMaker. Instead of customizing PHPMaker Template and PHPMaker Extension files manually, I strongly recommend you to use this extension.
Updated on July 24, 2013: Now you are able to define the maximum records per page either by using Table setting or Global setting from the extension side. PHPMaker has not handled it, yet!
Updated on August 1, 2013: Compressed the .css files, and adjusted the position of the css files declaration for header code.
Updated on August 6, 2013: Security handling for managing breadcrumb links via the generated .php files is now only given to Administrator.
Updated on August 28, 2013: Excluded the custom language phrases from the extension into the .xml language file.
Updated on September 6, 2013: Implemented CSS Sprites. You can also see the example usage from the Menu Editor and from Menu_Rendering server event of the demo project.
Updated on September 9, 2013: Fixed missing sprites implementation for record navigation in View Page.
Updated on September 17, 2013: Fixed missing closing </i> tag for the Search Panel.
Updated on September 19, 2013: Adjusted the disabled button effect when the button is clicked and moved the search criteria from bottom to the left side of the search input box in the Quick Search panel.
Updated on February 12, 2014: Now supports for RTL (Right-To-Left) style.
Last Updated on February 15, 2014: Fixed missing RTL (Right-To-Left) support in View page.
Related Customization:
My customization that has been handled by MasinoFixedWidthSite extension are:
- How to Make a Fixed Width Site Using PHPMaker version 9.0.1
- How to Change Header Background Color Above the Scrolling Table in Websites that Generated with PHPMaker 9.0.1
- How to Optimize Main Table Width to Maximum Width of Your Site Created with PHPMaker 9.0.1
- How to Customize Page Title Style in Websites that Created With PHPMaker 9.0.1
- How to Customize Pagination Style in Websites that Created With PHPMaker 9.0.1
- How to Display the Empty Table in the “No Records Found” Pages in Websites that Generated by PHPMaker 9.0.1
- How to Show Breadcrumb Links in Websites that Generated with PHPMaker 9.0.1
- How to Make your Web Application Auto-Logoff After Idle for the Certain Time Using PHPMaker 9.0.1
- How to Restrict the Permission Access in “Export to …” Feature in Websites that Created with PHPMaker 9.0.1
- How to Show How Long User Should be Allowed Login in the Messages When Failed Login Exceeds the Maximum Limit Specified in PHPMaker 9.0.1
- How to Show Announcement in All Pages of Websites that Created with PHPMaker 9.0.1
- How to Add Maintenance Mode to the Websites that Created with PHPMaker 9.0.1
- How to Use Email Template Based on the Selected Language in Websites that Created with PHPMaker 9.0.1
- How to Make the Flexibility Options for Export Records in Websites that Generated with PHPMaker 9.0.1
- How to Implement Multiple Themes in the Websites that Generated by PHPMaker 9.0.1
- How to Save the Last Users’ Visitted Page in Websites that Generated with PHPMaker 9.0.1
- How to Make Menu Item Can be Opened in New Window/Tab in Websites that Created with PHPMaker 9.0.1
- How to Combine Current User ID and Current User Name into User Column in Audit Trail of Websites that Generated with PHPMaker 9.0.1
- How to Add Row/Record Number Column on the List Pages in Websites that Created with PHPMaker 9.0.2
- How to Add Row/Record Number Column on the Exported List Pages in Websites that Generated by PHPMaker 9.0.2
- How to Standardize the Width of Label and Width of Data Column in Add, Edit, and View Pages in Websites that Generated with PHPMaker 9.0.2
- How to Include Application Name in Email Templates of Websites that Generated with PHPMaker 9.0.2
- How to Add Help Feature into Websites that Generated by PHPMaker 9.0.2
- How to Customize Submit Button in Websites that Generated by PHPMaker 9.0.2
- How to Avoid Displaying Database Connection String When Error Occurred in Websites that Generated by PHPMaker 9.0.3
- How to Hide Add and Edit Success Message in Websites that Generated by PHPMaker 9.0.3
- Adding “Activate User Account by Admin” Feature into Websites that Generated by PHPMaker 9.1.0
- Improving Breadcrumb Links Feature in Websites that Generated by PHPMaker 9.1.0
- Improving Help Feature in Websites that Generated by PHPMaker 9.1.0
- Adding Dialog Box of “About Application” into Websites that Generated by PHPMaker 9.1.0
- Adding YUI Dialog Box of “Logout Confirmation” into Websites that Generated by PHPMaker 9.1.0
- How to Overcome the Missing Functionality on Export Feature After Searching Records in Websites that Generated by PHPMaker
- How to Overcome “User X already logged in” Issue in Websites that Generated by PHPMaker 9.2.0
- How to Make Right-Align Columns for Aggregate Functions in Websites that Generated by PHPMaker 9.2.0
Warning:
- Please use this extension only for PHPMaker version 9.2.0. This extension may not be working properly in the older version of PHPMaker.
- Please do not use this extension with the modified PHPMaker 9.2.0 Template and Extension files. Use this extension only in PHPMaker 9.2.0 clean installation with the original template and extension. In other words, do not use MasinoFixedWidthSite extension together with the customized PHPMaker 9.2.0 Template and the customized PHPMaker 9.2.0 Extension files.
Download Link:
Masino,
the function, getCurrentPageTitle($pt), in userfn.php assumes that breadcrumbs are used.
when they are not used,
will cause an invalid object error since the SQL statement is invalid.
I used the following code to correct it.
if ($rs = $conn->Execute($sSql)) { $recCount = $rs->RecordCount(); } else { $recCount = 0; }Thanks for the improvement, Keith.
It seems that your Page Title Style modification is pulling some language constants into userpriv.php which should really be in the language files… without that change, userpriv.php needs to be manually edited all the time:
if ($gsLanguage == "id") { // Indonesian language $Language->setPhrase("PermissionPrinterFriendly", "Ramah Cetakan"); $Language->setPhrase("PermissionExportToHTML", "Ekspor ke HTML"); $Language->setPhrase("PermissionExportToExcel", "Ekspor ke Excel"); $Language->setPhrase("PermissionExportToWord", "Ekspor ke Word"); $Language->setPhrase("PermissionExportToPDF", "Ekspor ke PDF"); $Language->setPhrase("PermissionExportToXML", "Ekspor ke XML"); $Language->setPhrase("PermissionExportToCSV", "Ekspor ke CSV"); $Language->setPhrase("PermissionExportToEmail", "Ekspor ke Email"); $Language->setPhrase("DetailUserLevelPermissions", "Detail Hak Akses Level Pengguna"); } else { // default English $Language->setPhrase("PermissionPrinterFriendly", "Printer Friendly"); $Language->setPhrase("PermissionExportToHTML", "Export to HTML"); $Language->setPhrase("PermissionExportToExcel", "Export to Excel"); $Language->setPhrase("PermissionExportToWord", "Export to Word"); $Language->setPhrase("PermissionExportToPDF", "Export to PDF"); $Language->setPhrase("PermissionExportToXML", "Export to XML"); $Language->setPhrase("PermissionExportToCSV", "Export to CSV"); $Language->setPhrase("PermissionExportToEmail", "Export to Email"); $Language->setPhrase("DetailUserLevelPermissions", "User Level Permissions"); } ?>Actually… what would be awesome is a mod that moved all the phrases (well, as many as is practical/possible) into a table – it would REALLY simplify the multi-language aspect of PHPM.
Right now, I’m working on a project that needs to support at least 4 languages that I don’t speak… and more to come!
Of course, I can send native speakers a copy of the ‘english.xml’ file from the PHPmaker language folder, but that doesn’t help with all the other translations that currently need to be done via PHPM.
I really don’t want to give others access to my system and/or PHPM itself, so the only alternative is to send out the generated ‘english.xml’ file and then manually find all the relevant places in PHPM and copy/paste their translations that way. Unfortunately, the project is quite extensive so there will be several hundred words/phrases to copy/paste per language 🙁
If there was some way to take the generated ‘english.xml’ file and process that to create a ‘master table’ of phrases, then each additional language could be translated quickly and easily via the web by adding / editing detail records.
All it would need is a joined inline edit page and the translators could just go to work… then, either export the translations as xml files or, even better, include a little global code in each page that loaded all the required phrases directly from the database via $Language->setPhrase() calls.
I think this kind of mod would put 9.20 way ahead of 10.0.1 🙂
Thanks for the feedback, Adam.
The main reason why I wrote the phrases in the extension side instead of in the .xml language files is that since I don’t want to touch the original nor the generated .xml language file that came from PHPMaker. I just want to make the extension will work as it is: enable it, and it will work for generating the script files. No need to customize the other files outside the extensions.
So, I think the best approach regarding the custom language phrases is just like discussed in this topic/post. There are some advantages if we can handle the custom language phrases from the PHPMaker side. First, each project usually uses the different custom language phrases. That’s why we should handle them on projectly basis from PHPMaker side. Secondly, it will impact directly to the generated .xml language files if we handle from the Language editor in PHPMaker. In other words, we will not touch the original nor the generated .xml language files.
In the meantime, I will keep the phrases directly in the extension side. However, you can actually customize the extension by moving out all the phrases into the .xml language files. Yeah, this will make the extension will depend on the other files outside the extensions.
If you want to handle them by using master language table, then please consider the following: Will it cause the higher resource/traffic to your database afterwards? Honestly, I always try to avoid using database for storing and receiving the language phrases for that reason. If you want to make your web app support for many languages, then I suggest you to provide the special UI so that your web app users are able to entry the phrases, afterwards, you (as a web developer) can convert them back to the .xml language files or via PHPMaker language editor (if the PHPMaker has provided the editor code for managing the custom language phrases).
“No need to customize the other files outside the extensions.”
That comment isn’t strictly true because the extensions are “hard coded” for English and Indonesian. What happens if someone from France, Germany, Russia, etc. wants to use the extensions?… well, right now, they have to go and identify the all files within your extensions (34 of them I believe!) that have the hard-coded messages and manually edit them for their chosen language… not fun and not practical as these need to be re-edited each time you update an extension.
No only that, your breadcrumbs feature *requires* the original and/or generated .xml language files to be edited before breadcrumbs will display.
So… what I’ve done today (without using a database!) is created a simple system that will allow your extensions to support any required languages, and to do so exactly as you wanted… no need to touch the original or generated .xml language files.
It will even support your breadcrumb links so the .xml files no longer need editing at all (except to correct the awful English in many of the phrases) 🙂
I’ll email you the files and, hopefully, you decide to implement it in your extensions.
Well, it seems that we have to move all of those phrases out now into the .xml language files. For further information, please read this post.