I know there are many multilingual wp plugins but I'm not sure which method should I use for this purpose;
I'd like to create a wp site with advanced features, partly coded by myself in php. Then I generally want to create duplicates of this site's structure, design and behavior in other languages, for example, es.blog.com would be a duplicate of en.blog.com. The content, however, shouldn't be shared.
I'd also like to keep changing the code only at one place and make those changes affect all the other languages duplicates, so I assume that means the code itself, or parts of it, would be shared.
Is there a way to have a shared structure, design and functions for several blogs, while the content of each blog is different?
I believe this is a perfect case for WordPress Multisite.
Multilingual Network (forum thread)
I would like for users to choose their language when they first get to the site - so they can choose to read, register, administer the entire site (front end and back) in either English, Kurdish (and perhaps others).
How to set a bilingual or multilingual WordPress multisite blog (blog post)
I need two independent sites to facilitate the plugins and theme localization with an easy way to switch between languages if a translation is available. Another reason is to optimize the search engine indexing. With this solution I can have some language specific posts without translation.
[ update ]
Multilingual Press (plugin)
Each site/blog can then be attributed to a different language. Simply write a post or page in one language and Multilingual-Press will automatically create a duplication of it in the other sites/blogs. These new posts and pages are interlinked and are easily accessible via the post/page editor screen - you can switch back and forth to translate them! Multilingual-Press is WordPress conform, easy to install and doesn't make any changes to the WordPress core. It doesn't harm your website's performance.
You could use any MVC framework to achieve this, and simply store the data in a database with a 'language' field and call only rows from that language.
Google 'MVC Framework'.
A good and free example would be CodeIgniter.
In CodeIgniter, you can include the Wordpress files in your 'libraries' folder then create a model with the specific functions you need to use.
Finally, you would have to create an .HTACCESS file to get the sub-domain section from the URL if you were to use this approach, however, again, there are many tutorials on achieving this, google 'htaccess URL rewrite'
I wouldn't recommend WP for any true multilingual site, searches get messed up, plugin-incompability etc.
Install parallell WP-instances in subdirs and make one the "master" for dev/bugfixes. Content is isolated and you can use standard WP-features without metadata or plugin-hacks.
By "changing the code", I presume you mean the template? It's a simple drag'n'drop in a decent ftp-client.
Related
I have a large complex web site currently implemented using PHP and MySQL.
Some of the pages (about, contact us, etc) are largely static, but need to be updated from time to time. I'd like these updates to be able to be done by non technical admins, so I'm migrating the site to Joomla CMS. I've created a Joomla template to reproduce the banners, styling etc of my existing web site and have successfully reproduced the static pages by cutting and pasting into Joomla articles.
I'm now trying to embed my existing dyanamic php pages into the Joomla framework. I assume that I need to convert them into one or more Joomla components? I realize that I'll need to strip out the php code that currently generates banners, menus, etc, but I don't want to make major changes to these php pages, i.e. I don't want to re-implement them to follow an MVC pattern. I'm looking for a simple Joomla 3.2 hello world component tutorial. The tutorials that I've found are either too complex (i.e. MVC) or they're "too simple". By too simple I mean the component is not listed when I select Menu Item Type within the Menu Manager. Can anyone point me to any documentation that explains the minimal config that I need to include in a custom Joomla 3.2 component in order for the component to be listed when selecting Menu Item Type?
Also, should I create one big custom component to wrap my existing PHP application containing multiple pages("views"?)? Conceptually there the system could be considered as about 3 sub-systems, but there is some overlap between the MySQL tables used in these different sub-systems.
I don't need the implementation to be portable, i.e. I'm not trying to create a reusable component that others could use, I just need it to work on my site, using the least amount of work possible.
Thanks, Wayne.
I hope to clarify a bit and give you way out.
In response to your comment on #user3057084, the power of Joomla and its flexibility comes from it being MVC! If you want to wrap your existing code with little modifications, Wordpress will let you do all kind of nasty things! Nasty in the sense of mixing logic with data, i.e. copying and pasting your code and getting it to work quickly.
Joomla coding standards require that you separate models from views. And that you understand how the Joomla MVC implementation works. It will take longer, but you'll learn a useful skill that can and should be applied if you want to write portable maintainable code following Design Patterns.
Now about the way out.
Nothing keeps you from putting your raw php code in a Joomla view, including the database access. It's really ugly and I feel bad even suggesting this, but if it can be a small step towards using a great framework, then the end justifies the means.
The absolute easiest way for you in Joomla would be to create a template override (which you'll do from the admin with a few clicks in the template manager), then throw your code in, and it will run. Then, a little bit at a time, you might learn to separate the parsing of the input in the controller, store / retrieve the data in a model, and leave just the markup in the view.
But are you absolutely sure you need to code for this? There are thousands of (free) extensions out there that might do the job for you with no coding and little configuration, leaving you just a data migration to handle.
Have you had a look at Wordpress yet? In my experience, non-technical people find it easier to administer a wordpress website in comparison to a Joomla website.
When it comes to the menu structures,themes and contact forms and blogs - Wordpress takes the cake.
It would be worth your while to check it out? It might save you hours of frustration?
I am developing a PHP website. The client need to update some part of the site :
for example modify the title, modify the introduction paragraph etc.
But he can also post news and add products (which consist of text + picture) via his admin interface.
I am thinking of developing his administration panel from scratch, but i would prefer to find a simple CMS that would do the job and make the dev process faster.
Most of the CMS i found online are mostly too complicated (they allow the user to create pages, templates, etc). In my case the administration panel must be really simple and restrictive, just allow the user to modify or add the content i predefined.
Do you have suggestions on CMS that would fit my criterias? Or a php library that would help me (in terms of writing the less PHP / HTML,Js code as possible)
I hope my english is not too bad and this post is understandable.
Thank you very much for your help
The learning curve can be a bit steep but I'd suggest Drupal. It's a very powerful CMS and you can set use roles with whatever permissions you want. Make yourself admin and then set up a client user role with limited permissions and you're away.
You can also download themes for Drupal or build your own. In theory you could install Drupal and a theme, set the permissions and not actually write any code.
http://drupal.org/
Drupal. In my opinion Drupal is not ideal choice. Drupal is complecated.
Joomla. A lot of info inside admin part, but you can restrict a lot of things. It's simple to use and setup. Try it.
I'm using Wordpress to manage posts in my website, but I don't want to use Wordpress template/visualization. I will use it only to manage the content and program a bit to display the content in my website.
Well, I can access the Wordpress database and load the content with my own queries. But I want to know if is viable to use Wordpress to create the bridge between my site and the Wordpress database.
Simplifying, I want to know if Wordpress provides methods like getAllPosts(), getAllComments that already manage the database connection, queries and returns some objects or I need to build this in my application.
Not native wordpress, but this is very "viable" through plugins. Example: http://code.google.com/p/wordpress-posts-api/ that claims to do what you want for posts, and you could expand to load comments as well - or you may find an exact plug in that you want with a bit of searching.
I've never actually used one written by someone else for this, but have built similar functionality to expose posts etc for XML feeds (then displayed in Flash, for example). Relatively easy if you start with someone else's plug-in and expand.
Just one word of warning - these plugins are great as the operate in the full WordPress environment, so are easy to run. The downside is that they operate in the full WordPress environment, and are therefore inefficient under high stress. If you're going to hammer it, I'd write a caching buffer first, and only make the full call to WordPress when the cache expires.
I'm creating a website which has a public-facing side, which I want selected users to be able to edit like in a CMS, but I also want to create a private intranet side which is made up of pages written in PHP by me to perform certain functions, but are not part of the CMS as such.
So basically I want:
- Some CMS-ified pages which are user-editable
- Some custom pages which use the CMS templating engine, authentication etc..
Which would be the best CMS for this?
Drupal is really good when you need this kind of flexibility. You can easily configure it to link to other pages via the menu system and TBH, it's so flexible, you'll find that anything you would want to hand code for the intranet can be done by installing and configuring existing third party modules, with the option of writing a custom module if you really have to.
We do developments like this and bring all of the intranet stuff into Drupal by putting code into a custom module and having the functions called by simple forms made in Drupal. To see data from internal DBs, tell Drupal the DB details in the config, then use the views module to make lists etc.
Not sure if it's the best, but Drupal is a very good candidate based on your description.
Your custom pages can be implemented in a module (PHP code). Specific URLs can be declared as being handled by your module and the rest of the CMS will not get in the way if you don't want to. From the point of view of your code, Drupal can be seen as a kind of framework.
I might use drupal. From what I've done with it, it seems very customizable. It's more flexible and seems more clean and secure than something like joomla. There are plenty of addon's. I haven't done enough with it to get to the point where I was interfacing my own PHP pages with it, but if I had to try anyone that's what I would go with.
I, however, personally just make my own CMS. It might be more work, but then everything is the way that I want it to be. It depends on how much you want them to be able to edit. For example, I was making a website for a shop, and so I created a place where they could add and remove items, which wasn't that difficult, especially since it was database based. To be able to do things like change menus and appearance and such might be harder...probably look towards something like a CMS.
I have a site which contains around 3000 static and dynamic pages. I think 2900 of the pages are based on 3 different php pages which create all the 2900 pages based on database content, and it has about 100 static pages.
How difficult would it be to integrate a CMS into the website so our Marketing department can make changes to the website easily without them having to mess around with code?
That will largely depend on how your site is currently structured. Since you say about 2900 pages are dynamic, you should be able to port these in an automated fashion (again : all will depend on your actual data, this can be very easy or very hard depending on how that data is structured). Suppose for instance you were to use Drupal (just picking one of the major players here). Then you could use the Migrate module to port your existing data over to Drupal.
A nice video on how to do this is at http://dc2009.drupalcon.org/session/migration-not-just-birds (you can also find it at archive.org for easy downloading btw - DrupalCon DC 2009 - Migration: Not Just for the Birds)
That's a big question as it depends on what you want the cms to be able to do, and how much it needs to do. If time is a factor, why not use an existing third party cms and integrate your design and content into it.
They're easy to install, but again, your question is kinda vague. In the long run, a cms would probably save you time, so I'd say invest in setting one up.
That's heavily dependent of the structure of your website!
Most CMS use a template engine/system with placeholders. You need to change your existing content so it fits into the CMS system.
Or do you only want that the data is easy editable by users? Then you can try to include a WYSIWYG editor. But a page with so many sites, I think it will be more workload to put it into a CMS, but it will be more future-proof.
You will need to use a TAG based CMS.
You may add tags at the of each page (automaticaly or via the template)
and give your users to be able to edit the site page.
I think Toko Content Editor can help you with that
Editizer is a service that retrofits WordPress to existing static pages.