Drupal 6 custom career posting module - drupal

I'm attempting to build module that allows a user access to manage jobs/departments and post them to our website. It will also allow end users to apply for a given position.
The hierarchy is as follows:
About Us Page (standard drupal page)
-Careers (overview with list of all openings)
-Department Pages (if one or more jobs are available, they'll be displayed here)
-Individual Job posting with form to submit resume
I am currently using two custom tables for jobs and departments.
I have all the administration (CRUD) stuff working just fine -- my question lies in the 'drupal' way of integrating the department pages and individual career pages.
Should I create a custom content type that stores all the job/department data in the node? Or should I keep with my custom tables and integrate with the Path module to setup all the department pages and the application page? Also, what would be the best way to integrate the job application form into the module?
I appreciate any help!

You could create a custom node type for jobs and then create a taxonomy vocabulary for careers with terms for departments inside it so that you can then assign the taxonomy terms to a job. That would be very quick and easy to do.
This also means that you could output nice categorised breadcrumbs using the Custom Breadcrumbs module. Custom Breadcrumbs contains a submodule called Custom Breadcrumbs Taxonomy so you could output career/department information in the breadcrumbs.
You could also use Pathauto to output nicely structured SEO friendly URLS using this method.
Edited to say that with this method you could use Views to show taxonomy term specific lists simply by enabling the taxonomy term View, so you could show all openings at www.example.com/careers and all departmental openings at www.example.com/careers/department-name.

Related

Multiple Part Wordpress Post

I want to create a blog with stories. Where each story may have multiple chapters. I want to publish chapter wise. Is there any plugin to handle this in WordPress?
You could use core functionalities like categories or even tags as the root of your stories and publish each chapter as new post in this category or with the assigned tag.
Then you could display your stories on an archive page with a custom loop, depending on how/what you want to display (eg. title, content, excerpt...).
You can do this with the Custom Post Type. Here is the plugin you may use.
https://wordpress.org/plugins/custom-post-type-ui/
You can set your Stories as Custom post type and Chapter as a Custom taxonomy. You can also call them on any page, sort them as your chapter vise, you can also show limited chapters stories, etc. with the WP_Query.
https://developer.wordpress.org/reference/classes/wp_query/

Wordpress custom post type single as parent for archive

For a new project i like to have a single of my custom post type 'teams' as a parent of a custom post type archive and singles 'report' so i would like to have "Teams/{team-name}/reports/{report}".
I've tried to create a custom slug with the 'save_post' action/hook but it didn't work. On the editor page of a report i do have a custom field to select a team but ik look likes this is not usable on the save_post function yet. Does anyone have a suggestion?
Based on what you've indicated in the comments above, I'd be inclined to do away with the http://{website}/Teams/{team-name}/reports/{report} pretty URL and have a more simple http://{website}/Teams/{team-name} URL. It will be more intuitive to remember for visitors.
In the single for the Team CPT, you would include a loop for the archive type associated with the particular team. You COULD create a hierarchy of CPT where Reports are a child of Team but you will be heading down a slippery road that the parent/child relationship creates a lot of overhang when the types become populated.
There are a lot of threads about this, this is just one guys report on what happens when there are many hierarchical CPTs: https://wordpress.org/support/topic/hierarchical-post-type-w-heavy-data-set-fails-lots-of-custom-fields?replies=1
If you could create them as individual (non related) CPTs, and have a common category or taxonomy you could then in the single.php of your CPT include a loop for the archive, or alternatively in the archive for the reports, you could include a team header section. You could link the two on that taxonomy.
On a slightly different tact, if it is just some basic info you want to have about the team on the archive page, you could include a description in the reports taxonomy and depending on your theme (or custom coding) you could display that at the top of the reports archive.

Wordpress: Using Custom Post Type for image list of Product

I have a Wordpress-blog with gift ideas where I write text based articles. I recently discovered Custom Post types which I believe is the solution to an feature I want to create.
What I want:
Be able to tag each custom post using the normal "Categories" and "Tags".
Create a 3x3 matrix with product images (custom posts) to be shown on top of each Category-view or Tag-view (followed by the typical article list in the category or tag).
Example:
Lets say I have a category "Gifts for mom" and tags "Pink", "Cheap"
In the category "Gifts for mom" I have 10 text articles (normal posts) discussing the difficulties of buying gifts for your mom
I create nine custom posts, each is a specific gift (e.g. A pink hairbrush). I want to place them in the Category "Gifts for mom" and tag them with "Pink".
When I view myrandomgiftblogname.com/category/gifts-for-mom I want to be able to get a view:
Gifts for mom
Product Product Product
Product Product Product
Product Product Product
Articles:
- This awesome article
- That awesome article
- Etc
I assume this is possible but don't really know where to begin. Could you point me in the right direction? Which Plugins do I need? Do I need to do any programming myself (or just plugin configuration)? Is this even possible?
The description is a bit broad, hence a bit broad answer.
Two things are needed:
1) A plugin to create the Custom Post Type.
It is considered best practice to let CPT's in Plugin territory. So you can swap designs and preserve your CPT functionality. In reality, you are asking for future problems letting this be handled by the theme.
Create your own plugin, which would contain a register_post_type and any extra configs.
Use an existent plugin, like Custom Content Type Manager.
Its Custom Fields features are quite handy as well.
Allows users to create custom content types (also known as post types) and standardized custom fields for each, including dropdowns, checkboxes, and images.
2) Learn how to use and customize WordPress Templates
http://codex.wordpress.org/Templates
Templates are the files which control how your WordPress site will be displayed on the Web. These files draw information from your WordPress MySQL database and generate the HTML code which is sent to the web browser. Through its powerful Theme system, WordPress allows you to define as few or as many Templates as you like all under one Theme. Each of these Template files can be configured for use under specific situations.
You can try the following:
Add a new Page for each category with the exact same name as the category.
In the Images menu attach to each of those pages the images you want.
In your script query for a page with a name identical to the current category, and pull all of its attachments

Filter search by book page

Is there a module or some sort of native functionality available in Drupal that will allow search filtration by book page? (e.g. limit search to a particular section in the book)
Or some easy way to attach taxonomy to a book using page titles?
I think you need this module http://drupal.org/project/rules, with help of it you can create special set of actions when some action was performed in drupal, in your case this is 'Node created'. For example you can create new taxonomy term from title of a book page and then attach this new term to created page. Try it, Rules module can easy solve many problems like yours.

Does Concrete5 have something similar to Drupal's CCK and Views?

Does Concrete5 have something similar to Drupal's CCK and Views? How can I create a new custom content type (like catalog or product) in Concrete5?
Concrete5 is more page-focused than data-focused (because its emphasis is on ease-of-editing, and most people's mental model of their website is a bunch of pages, not a single template dynamically populated with content based on input variables etc. etc.).
Hence you treat each page as a "record". Concrete5 has a concept of "page types", which usually are equated to "theme templates", but also serve the purpose of defining a set of data through attributes.
So... you create a page type for the type of data (let's say a product), and you create custom attributes for product meta-data (name, price, etc.). Then to add a product to the system, you just add a new page and choose the "product" page type. This page serves as both the "view" page for that product, and also as the anchor for its data (in the "Properties" dialog when you create or edit the page). Now, instead of a "view" query to present a listing of data, you use the "Page List" block and tell it to only show pages of the "product" page type. To customize the output of the page list, you can create a custom template for it -- in which, among other things, you can output the custom attributes of the page (name, price, etc. -- by calling this: echo $cobj->getCollectionAttributeValue('myattributename'); )
All that being said, there is a plugin available (although it's not free) that works more like CCK/Views: http://www.concrete5.org/marketplace/addons/data-display/
And of course if this is actually for a product catalog, you probably want to use the eCommerce plugin (also not free, but well worth it when building sites for clients who are paying you) -- sorry can't post link due to StackOverflow spam filter, but it's very easy to find in the concrete5 markeplace.
If you have a very complicated and extensive database to display in the website, then Concrete5 is probably not the best tool for the job. But for simpler content-focused sites (for example, artist portfolios, record labels, staff listings under a few dozen people), I find it to be much easier to set up and maintain than more database-focused CMS's such as Drupal (especially if giving to a non-technical client to manage).

Resources