Drupal 7 Views merging - drupal-7

I'm recently starting to develop with Drupal, reading and learning all I can.
I'm trying to make a "Team" page. I have a custom content type called "Team Member" with: Name, Photograph, Bio, and Role (Coordinator or Speaker). I added my team members and now I want to write a view (on /team) that lists all of my members. The problem is, the two kinds of members (coordinators of speakers) have slightly different layouts and, also, I want to have a before each type.
Something like this:
<h1>Team</h1>
<h2>Coordinators</h2>
<ul>...Coordinators here...</ul>
<h2>Speakers</h2>
<ul>...Speakers here...</ul>
Any ideas how to achieve this? Thanks!

Views allows you to add attachments (see http://drupaleasy.com/blogs/ultimike/2009/07/using-views-relationships-arguments-attachments) which essentially lets you combine two or more views in one.

Related

Automatic Grouping/Sorting of Nested-Lists?

I am currently trying to implement a web tool with a capable web developer, but we are stuck on one functionality.
It's about draggable nested lists, which should be grouped and sorted automatically according to different attributes.
The "draggable" is not the problem but the automatic creation of parent & child nested lists and the automatic distribution of the products into the corresponding lists.
For a better understanding I have made a
Figma-Prototype, maybe you will understand what I mean.
I have a database of products with attributes like "producer", "product category", "sub-category", "country" and "region". (However the example is just a table, in reality we made the DB in MongoDB)
I want the user to be able to change the order (drag&drop) and also create new lists(Nested-List Parents & Childrens). However, I would like to spare the Users from having to start at 0 and create and fill all lists manually, for example, when it its just about grouping and sorting "only" by product category.
Is this even Possible? We are working with React (MERT-stack).
Thank you!!
We havent an idea where to start, tbh.

Structured Data JSON-LD for Localbussiness with multiple locations query

I'm new to JSON-LD. I find the syntax fairly straightforward but my query lies more with deciding which pages it is best to add the JSON-LD to. I've spent a bit of time looking for an answer online but so far nothing has been clear.
My example:
The site is for a business that has roughly 20 branch locations across the country. Each office has a dedicated contact details page, and there is also a "contact us" page for the site as a whole.
Should I
A: Add 'Organisation' JSON-LD snippet for the organisation as a whole to the homepage of the site, and then add individual 'LocalBusiness' JSON-LD snippets to each office details page?
B: Consolidate all this into one snippet of JSON-LD that has 'Organisation' with nested 'LocalBusiness'es and place it on ALL office pages, with a separate 'Organisation' snippet for the homepage?
C: Consolidate all this into one snippet of JSON-LD that has 'Organisation' with nested 'LocalBusiness'es and place it on ALL pages sitewide?
D: None of the above... Instead you should ____________________.
I realise there may not be one correct answer for this, but any help at all in achieving what would be considered best practice, would be greatly appreciated!
Cheers
Per the JSON-LD specification, it’s totally up to the authors. Consumers of your JSON-LD might of course have their own expectations.
You seem to use the vocabulary Schema.org, which is sponsored by the big Web search engine services. They are of course typically interested in your page content. The general idea of Schema.org is to mark up your existing content (+ closely related metadata).
This becomes clear when looking at the other syntaxes supported by Schema.org (Microdata and RDFa), as they define attributes that get added to existing HTML elements used for your content. So JSON-LD is the exception here, as it doesn’t get coupled with the HTML/content.
tl;dr: On a page about a branch location, provide structured data about this branch location.
It typically makes sense to provide structured data about related entities (e.g., the parent organization) in addition. This can be done by including the data and/or by referencing it via its URI (see an example). Make use of the properties the type offers (e.g., parentOrganization).
If this question is still relevant to someone, here is my recommendation:
on the homepage, create a "LocalBusiness" markup and use the "department" attribute for each branch.
So in your case, there should be one main office and 19 departments.
For the main office, indicate all attributes (opening hours, logo, image, etc.) For branches, mark up only distinct properties, such as address or telephone (they are apparently different for each branch).
For example, if all branches have the same working hours, no need to repeat them again and again - indicate working hours only for the main office.
Then on each dedicated contact details page add "LocalBusiness" markup only for that specific branch - without departments. You can indicate all attributes in detail.
Do not add "LocalBusieness" sitewide - Schema markup must be relevant to a specific page.
Also, here is an article that can help to understand it better:
https://postelniak.com/blog/local-business-schema-for-multiple-locations/
There you can also find JSON-LD code snippets.

Drupal 7 : bind two or more taxonomies

I'm using drupal 7 to make a kind of humanities collaborative portal.
Let's say I have 3 taxonomies : authors, concepts, dissertation and the corresponding content-types.
I would like to bind the terms in these taxonomies together.
If I write a dissertation, I would like to be able to choose at least one couple of author-concept as though it was one new tag.
For example, I wrote a dissertation about "What is the self ?", and used Husserl's cogito on one hand and Hume's self on the other hand.
I'm coding my own search engine to fetch these couples so that if I search "Hume cogito" my dissertation won't be in the results.
My problem is that I don't know how to bind taxonomies in that way nor linking those taxonomies when the user creates a content.
I thought about hierachical taxonomy but it doesn't seem to make sense.
Any idea welcome !
In our Project we were using a similar functionality for glossary search.
There are 2 methods one is
Create a content-type for Items.
1)Any term can be mapped to multiple other terms by creating two fields of term reference and making the second field with add many(1 term -may terms relationship) .
2)There was a module in drupal 6 called "Term Relations" which i believe has dev version for drupal 7

Show Opportunity related Contacts in Custom Object Field

I have the next issue.
I have a custom object called 'Application', and I have this requirement:
"Show all Contacts related to an Application. Create a field on Application object, must be read only".
I solve it with apex code. 'Application' has a lookup to Opportunity, Opportunity to Account, and all my contacts have AccountId, so this way, I get all the contacts using apex code in a trigger.
But, I've been ask to change this to a Formula field in Application object.
So, my issue is next. I'm not able to get all contacts with advance formula editor, because they're not part of any object. I have no master-detail relationship.
Does any one know how can I achieve this using configuration? I should not use apex code for this req.
Thank in advance guys.
I don't think you can do it.
In formulas / merge fields syntax there's no way to go "up, up then down" (Application -> Opportunity -> Account -> down to Contacts related list). There's also nothing that would let you loop through Contacts (and display what? Ids? Names? Emails?). Roughly speaking you can only go up through dots.
You might want to explore path of "cross object workflow" rules but I imagine that when I add a new Contact to Account it should somehow "spread itself" to all related Applications? There's no straight way to fire a workflow on delete too - so you'd eventually end up with inaccurate list.
I'd say trigger was a good solution. Maybe it ws unoptimized but if it has to be in a field - tough.
There might be a fairly simple way of achieving that by embedding a visualforce page within Application page layout.
This should be doable with pure Visualforce (so technically there will be no Apex code ;))
Something as simple as
<apex:relatedList list="Contacts" subject="Application__c.Opportunity__r.AccountId" />
would be a good start (if you want your own layout and not a rel. list - you should be still able to pull it off with <apex:repeat> or <apex:pageBlockTable>.
There's one BUT here: it's not a field, just a display trick. Forget about using it in reports, mobile applications etc.
Another way - would it be acceptable to be 1 click away from these contacts? You could make a report "Account with Contacts", filter it by Id of one Account and later use "URL hacking" to change the filter depending on from which Application you'll click it. This link could be either a formula field or a real custom button/link. Technically - it's pure config, no apex & VF.
You can read more about URL hacking at Ray Dehler's excellent post and specifically about dynamic Reports here or here.

Polymorphic vs HABTM relationships for a tagging system

I am currently making a database for a rails application. This schema involves three models: Photo, Object and Tag. Both photos and objects need to be "taggable".
Tags are unique
Tags can belong to a Photo, or an Object, or both
Rails offers a polymorphic association which results in tags having a belongs_to relationship with both Photo and Object; however it does not allow a Tag to belong belong to both.
One might solve this by having two independent HABTM relationships for 'tags to photos' and 'tags to objects'.
I was wondering if there was more efficient way of achieving this; or if perhaps I am approaching the problem from the wrong direction?
Tags are a way of saying something about a thing.
It might not make sense to use a single set of tags to say something about every kind of thing. I can imagine tags like "1024x768" and "shot-with-Olympus-camera" being useful if you're trying to say something about a photo, but not really useful if you're trying to say something about an object.
Let's say I use a tag like "blue" to refer to both a photo and to an object. Does {photo_id, "blue"} mean the same thing as {object_id, "blue"}? I don't think it does.
It seems to me the most efficient solution is to use one set of tags to say something about photos, and another set of tags to say something about objects. It's also likely to be more friendly to your users.

Resources