1) Part of the process of converting to CCK requires you to manually create your new CCK fields. CCK will strip out all characters except for characters and numbers when creating the machine readable name. However, your original flexinode fields names may contain some of these characters.
2) Also, CCK has a maximum field length that flexiconvert does not take into account. If your flexinode field names are long, you will get a different field name than you created earlier with CCK.
Here are the fixes I made to my personal copy of flexiconvert.module to strip out characters that I know are in my flexinode fields, but I haven't (and may not) create something more general. This code will let you know where the problems are.
Here's the diff:
58a59,61
> $cckfield = str_ireplace("(", "", $cckfield);
> $cckfield = str_ireplace(")", "", $cckfield);
> $cckfield = str_ireplace("#", "", $cckfield);
59a63
> $cckfield = substr($cckfield, 0, 31);
In English:
after line 58 add the following code (problem 1 above):
$cckfield = str_ireplace("(", "", $cckfield);
$cckfield = str_ireplace(")", "", $cckfield);
$cckfield = str_ireplace("#", "", $cckfield);
after line 59 add the following code (problem 2 above):
$cckfield = substr($cckfield, 0, 31);
Comments
Comment #1
starbow commentedComment #2
voidberg commentedAlso add $cckfield = str_ireplace("'", "", $cckfield);
Comment #3
starbow commentedThis would be more useful to people if you submitted it as a patch.
Thanks,
-tao
Comment #4
mo6This is implemented in 0.3.
Comment #5
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.