Hi,
In a (hopefully not too) special case the behaviour of the taxonomy select widget is uncomfortable - not to say nearly impossible:
I have a vocabulary with two hierarchy levels (say "primary" and "secondary" level).
Terms in the secondary level have often multiple parents in the primary level. That looks like:
A -> C
A -> D
B -> C
B -> E
When selecting A -> C in the first, then it is impossible to change to B in the primary level. The selection allways "jumps back" to A -> C before even showing the secondary level unter B.
Even when selecting B -> C in the first, the selection jumps to A -> C spontanously.
What works:
A -> C then A -> D (D must not be child of B) then B -> E (E not child of A)
I have the feature "save lineage" disabled, because it doesn't make sense in my application. "Force deepest" is enabled and all nodes will only be assigned to those secondary level terms.
I tried to enable "save lineage" which keeps the widget working like it should.
But I don't want to save the lineage for any node.
When saving lineage there is another side effect in using the "Hierarchical Select in a block as a taxonomy filter" ( http://drupal.org/node/534986 ) although this can easily be patched by not redirecting to the first but the second or last value:
The user is redirected to A, when selecting A->C which is not wanted.
What I would suggest as a solution:
Lineage should be "saved" during usage of the widget instead of searching for the first possible lineage to the second/third/... level term.
The difference of lineage saving or not should then apply just before saving the node.
Unfortunately I have no idea how to apply that idea to your code. Thanks for any help!
Comments
Comment #1
wim leersThis is due to the way core's Taxonomy's multiple parents functionality works. If you'd have read the README, you'd have found that this can be mitigated by enabling the "save lineage" setting.
Comment #3
dalegrebey commentedAre you able to describe this issue a bit more? I'm receiving the error/warning, but not too sure what is causing it. Basically, I have a child TID with 2 parents TIDs? Is that the gist of it? I don't especially recall doing this, it must have just been a side effect. I did import about 800 terms.
That said... Know any clever ways to determine which Terms are causing the violation? I tried to sift through, but have way too many terms to try and find the culprits (I receive the error twice).